SQLServer2008数据库技术与应用全套配套课件熊发涯胡大威电子资源 10.3 管理存储过程.ppt

SQLServer2008数据库技术与应用全套配套课件熊发涯胡大威电子资源 10.3 管理存储过程.ppt

ID:51965562

大小:1.22 MB

页数:21页

时间:2020-03-26

SQLServer2008数据库技术与应用全套配套课件熊发涯胡大威电子资源 10.3 管理存储过程.ppt_第1页
SQLServer2008数据库技术与应用全套配套课件熊发涯胡大威电子资源 10.3 管理存储过程.ppt_第2页
SQLServer2008数据库技术与应用全套配套课件熊发涯胡大威电子资源 10.3 管理存储过程.ppt_第3页
SQLServer2008数据库技术与应用全套配套课件熊发涯胡大威电子资源 10.3 管理存储过程.ppt_第4页
SQLServer2008数据库技术与应用全套配套课件熊发涯胡大威电子资源 10.3 管理存储过程.ppt_第5页
资源描述:

《SQLServer2008数据库技术与应用全套配套课件熊发涯胡大威电子资源 10.3 管理存储过程.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、任务10.4创建触发器单元10存储过程和触发器《SQLServer2008数据库技术及应用》任务内容创建触发器1修改触发器2触发器的应用3删除触发器4重命名触发器5禁用启用触发器61创建触发器创建触发器使用CREATETRIGGER命令,基本语法如下:CREATETRIGGERtrigger_nameON{table

2、view}[WITHENCRYPTION]{FOR

3、AFTER

4、INSTEADOF}{[DELETE][,][INSERT][,][UPDATE]}[WITHAPPEND][NOTFORREPLICATION]AS[{IFUPDATE(column)[{AND

5、O

6、R}UPDATE(column)][...n]}]sql_statement[...n]创建触发器11创建触发器参数说明如下:trigger_name:触发器的名称。table

7、view:在其上执行触发器的表或视图。(只有INSTEADOF触发器才能设置于视图上)WITHENCRYPTION:加密触发器的CREATETRIGGER语句文本。FOR/AFTER后触发器:只有在数据表的操作都已正确完成后才会激活触发器。所有的引用级联操作和约束检查也必须成功完成后,才能执行此触发器。INSTEADOF替代触发器:用触发器替代原来要执行的数据操作。在表或视图上,每个INSERT、UPD

8、ATE或DELETE语句只能定义一个INSTEADOF触发器。[DELETE][,][INSERT][,][UPDATE]:用于指定在表或视图上执行哪种操作时会激活触发器的关键字。必须至少指定一个选项,如果指定的选项多于一个,需用逗号分隔开。对于INSTEADOF类这三个选项最多只能有一个,而AFTER类则无此限制。[NOTFORREPLICATION]:当复制进程更改触发器所涉及的表时,不要执行该触发器。IFUPDATE(column):测试在指定的列上进行INSERT或UPDATE操作,不能用于DELETE操作,可以指定多列。因为已经在ON子句中指定了表名,所以在IFUPD

9、ATE子句的列名前不要包含表名。sql_statement:触发器的条件和操作,可以包含任意数量和种类的T-SQL语句。其中的T-SQL语句常常包含流控语句。创建触发器11创建触发器【问题10.16】创建触发器,每当修改学生表中信息时,在客户端显示“已修改学生表xs的数据”的消息。在查询窗口中执行如下SQL语句,如图所示:USEcjglGOCREATETRIGGERUpdate_xs_TriggerONxsFORUPDATEASPRINT’已修改xs表的数据。’GO创建触发器11创建触发器在查询窗口中执行如下语句。UPDATExsSET姓名=’周敏’WHERE学号=’00110

10、2’测试结果如图所示,可以看到学生表中学号为“001102”的数据行,姓名已经改为周敏。创建触发器12修改触发器用户可以使用ALTERTRIGGER语句修改触发器。【问题10.17】修改触发器,在确实修改学生表的数据后返回“已修改学生表xs的数据”,否则返回“不存在要修改的数据。”。在查询窗口中执行如下语句,结果如图所示。USEcjglGOALTERTRIGGERUpdate_xs_TriggerONxsFORUPDATEASIF(SELECTCOUNT(*)FROMinserted)<>0PRINT'已修改学生表xs的信息'ELSEPRINT'不存在要修改的数据。'GO修改触

11、发器22修改触发器在查询窗口中执行如下语句。UPDATExsSET姓名=‘周敏’WHERE学号=‘001300’结果如图所示,此时需要修改触发器,排除错误。修改触发器22修改触发器【问题10.18】在SQLServerManagementStudio中查看触发器Update_xs_Trigger的属性。具体操作步骤如下:(1)在“对象资源管理器”窗口中展开cjgl数据库。(2)依次展开“表”选项,“xs”选项,“触发器选项”。(3)如图所示,右击“Update_xs_Trigger”,在弹出的快捷菜单中选择“修改”命令,显示该触发器的定义,此时可以进行必要的修改。修改触发器23

12、触发器应用【问题10.19】创建替代触发器。修改学生表xs数据时,触发替代触发器,用输出“没有修改学生表xs中的数据”替代执行触发语句(UPDATE)。在查询窗口中执行如下语句。USEcjglGOALTERTRIGGERUpdate_xs_TriggerONxsINSTEADOFUPDATEASPRINT'没有修改学生xs表中的数据'GOUPDATExsSET出生时间='1990-3-20'WHERE姓名='刘敏'测试结果如续页图所示,从图中可以看出来学生表xs的“刘敏”的出生时间确实没有修

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

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

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