数据库原理与应用实验11_

数据库原理与应用实验11_

ID:5917365

大小:346.03 KB

页数:13页

时间:2017-12-28

数据库原理与应用实验11__第1页
数据库原理与应用实验11__第2页
数据库原理与应用实验11__第3页
数据库原理与应用实验11__第4页
数据库原理与应用实验11__第5页
资源描述:

《数据库原理与应用实验11_》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、实验十一 触发器姓名:计算机科学与技术学号:专业:班级:同组人:无实验日期:【实验目的与要求】1.熟练掌握变量的定义和赋值。2.熟练掌握各种运算符。3.熟练掌握流程控制语句,尤其是条件语句和循环语句。4.熟悉游标的工作机制及游标的使用【实验内容与步骤】11.1.创建DML触发器1.使用触发器模板创建触发器在【对象资源管理器】窗口中,展开“数据库”节点,再展开所选择的具体数据库节点,再展开“表”节点,右击要创建触发器的“表”,选择“新建触发器”命令,如图所示:在右侧查询编辑器中出现触发器设计模板,可以在此基础上编辑触发器,单击“执行”按钮,即可创建该触发器。第13页共13页2.使用

2、T-SQL语句创建表级触发器在查询分析器里使用T-SQL可直接创建存储过程语法:CREATETRIGGER触发器ON表名FOR[update,insert,delete]ASSQL语句实验11-1:编写一触发器,在向产品表CP中添加记录时,得到该类产品的总价格(总价格=价格*库存量),并输出。说明:可使用Print@变量名来输出变量值。USECPXSIFEXISTS(SELECTnameFROMsysobjects--如果已经存在触发器则删除WHEREname='T_return_Total'ANDtype='TR')DROPTRIGGERT_return_TotalGOCREA

3、TETRIGGERT_return_Total--创建触发器ONCP--基于表borrowAfterINSERT--监视插入操作,针对其触发ASBegin--查询插入记录INSERTED中读者的类型DECLARE@P_IDchar(6),@P_Namechar(30),@P_Pricefloat,@P_Storageint,@P_total_priceintSET@P_ID=(SELECT产品编号FROMinserted)--inserted为临时表SET@P_Name=(SELECT产品名称FROMinserted)SET@P_Price=(SELECT价格FROMinsert

4、ed)SET@P_Storage=(SELECT库存量FROMinserted)SET@P_total_price=@P_Price*@P_StoragePRINT'产品为:'+@P_Name+’总价格为:’+convert(varchar(20),@P_total_price)End应用测试:USECPXSINSERTINTOCP(产品编号,产品名称,价格,库存量)VALUES('100016','东风小汽车',85728,9);给出运行结果:第13页共13页实验11-2:对CPXS库中CP表的DELETE操作定义触发器。当某产库存量为0时将该记录删除。USECPXSGOIFE

5、XISTS(SELECTnameFROMsysobjects--如果已经存在触发器则删除WHEREname='CP_Del'ANDtype='TR')DROPTRIGGERCP_Del第13页共13页GOCREATETRIGGERCP_Del--创建触发器ONCPFORDELETEASBeginDECLARE@StorageintSELECT@Storage=库存量FROMdeletedIF@Storage>0BEGINPRINT'该产品记录不能删除!还有'+convert(char(2),@Storage)+'件没销完。'ROLLBACK--回滚操作,撒销删除操作ENDELSE

6、PRINT'该产品记录已被删除!'EndGO测试:USECPXSGODELETECPWHERE产品名称='太阳能热水器'请给出执行结果:第13页共13页练习:(1)完成后,再执行Select*fromcp;语句,查看产品名称='太阳能热水器'的记录是否真的删除。请给出执行结果:(2)执行如下语句,在CP表中插入一行库存量字段值为0的记录。INSERTINTOCP(产品编号,产品名称,价格,库存量)VALUES('100017','小汽车',85788,0);再执行删除语句:DELETECPWHERE产品名称='小汽车';第13页共13页请给出执行结果:而后再执行“Select*f

7、romcp;”语句,查看该记录是否删除,比较与(1)的差别。第13页共13页11.1.创建DDL触发器DDL触发器会为响应多种数据定义语言(DDL)语句而激发。这些语句主要是以CREATE、ALTER和DROP开头的语句。DDL触发器可用于管理任务,例如审核和控制数据库操作。语法形式:CREATETRIGGERtrigger_nameON{ALLSERVER

8、DATABASE}[WITH[,...n]]{FOR

9、AFTER}{event_t

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。