文档详情

数据库实验6触发器实验报告.docx

发布:2025-05-10约4.92千字共9页下载文档
文本预览下载声明

淮海工学院计算机工程学院

实验报告书

课程名:《数据库原理及应用》

题目:存储过程和触发器

班级:软件132

学号:2013122907

姓名:孙莹莹

评语

评语:

成绩:指导教师:

批阅时间:年月日

目得与要求

掌握存储过程得创建方法;

掌握存储过程得执行、修改和删除等操作;

掌握触发器得创建方法;

掌握触发器得使用、修改和删除等相关内容

实验内容

基于前面建立得factory数据库,使用T-SQL语句完成如下各小题得功能:

创建一个为worker表添加职工记录得存储过程Addworker;

创建一个存储过程Delworker删除worker表中指定职工号得记录。

显示存储过程Delworker;

删除存储过程Addworker和Delworker、

实验步骤

1、

(1)建立存储过程

USEfactory

GO

CREATEPROCEDUREAddworker

noint=NULL,

namechar(10)=NULL,

sexchar(2)=NULL,

birthdaydatetime=NULL,

nachar(2)=NULL,

wtimedatetime=NULL,

depnoint=NULL

AS

IFnoISNULLORnameISNULLORsexISNULLOR

birthdayISNULLORdepnoISNULL

BEGIN

PRINT请重新输入该职工信息!'

PRINT您必须提供职工号、姓名、性别、出生日期、部门号

RETURN

END

BEGINTRANSACTION

INSERTINTOworker

VALUES(no,name,sex,birthday,na,wtime,depno)

IFerror0

BEGIN

ROLLBACKTRAN

RETURN

END

MITTRANSACTION

PRINT职工'+name+'得信息成功添加到表worker中

(2)验证存储过程

USEfactory

GO

Addworker20,陈立,女,55/03/08,否',75/10/10,4

GO

SELECT职工号,姓名,性别,党员否FROMworker

GO

2、

(1)建立存储程序

USEfactory

GO

CREATEPROCEDUREDelworker

noint=NULL

AS

IFnoISNULL

BEGIN

PRINT'必须输入职工号!

RETURN

END

BEGINTRANSACTION

DELETEFROMworkerWHERE职工号=no

IFerror>0

BEGIN

ROLLBACKTRAN

RETURN

END

MITTRANSACTION

PRINT'成功删除职工号为+CAST(noASCHAR(2))+'得职工记录'

执行下列语句,可验证存储过程得正确性:

USEfactory

GO

Delworker20

GO

SELECT职工号,姓名,性别,党员否FROMworker

GO

3、

USEfactory

GO

EXECsp_helptextDelworker

GO

4、

USEfactory

GO

IFEXISTS(SELECTnameFROMsysobjects

WHEREname=AddworkerANDtype='P')

DROPPROCEDUREAddworker

GO

IFEXISTS(SELECTnameFROMsysobjects

WHEREname=DelworkerANDtype=P)

DROPPROCEDUREDelworker

GO

5、建立触发器depart_update得程序如下:

USEfactory

GO

IFEXISTS(SELECTnameFROMsysobjects

WHEREtype='TRANDname=depart_update)

DROPTRIGGERdepart_u

显示全部
相似文档