数据库实验6触发器实验报告.docx
淮海工学院计算机工程学院
实验报告书
课程名:《数据库原理及应用》
题目:存储过程和触发器
班级:软件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