SQLServer2008数据库应用技术张素青孙杰第9章课件教学.pptVIP

  • 13
  • 0
  • 约4.63千字
  • 约 56页
  • 2017-01-07 发布于广东
  • 举报

SQLServer2008数据库应用技术张素青孙杰第9章课件教学.ppt

使用系统表sysobjects查看数据库学生选课数据库上存在的所有触发器相关信息。 1.使用sp_rename命令修改触发器的名字。 2.使用SQL Server Management Studio查询分析器窗口中修改触发器定义。 3.通过ALTER TRIGGER命令修改触发器的定义文本。 4.禁止和启用触发器 修改“学生选课”数据库中“学生”表上建立的触发器xuesheng_tri3,使得在用户执行删除、添加、修改操作时,系统均自动给出错误提示,并撤销用户的操作。对应的SQL语句如下: USE 学生选课 GO ALTER TRIGGER xuesheng_tri3 ON 学生 FOR DELETE,INSERT,UPDATE AS BEGIN RAISERROR(对不起,您不能执行操作,10,1) ROLLBACK TRANSACTION END GO (1)使用DROP TRIGGER删除指定的触发器,具体语法格式如下: DROP TRIGGER {trigger} [ ,...n ] (2)删除触发器所在的表时,该表上所有的触发器将被一并删除。 (3)在SQL Server Management Studio中进入“对象资源管理器”面板,找到相应的触发器并用鼠标右键单击,在弹出的菜单中,选择“删除”命令即可直接删除触发器。 在线教务辅导网: 更多课程配套课件资源请访问在线教务辅导网 馋死 PPT研究院 POWERPOINT ACADEMY * * 第9章 触 发 器 9.1.1 触发器的概念 触发器是一种特殊类型的存储过程,当在指定表中使用UPDATE、INSERT 或 DELETE中的一种或多种数据修改命令对数据进行修改时,触发器就会执行。触发器可以查询其他表,而且可以包含复杂的 SQL 语句。它们主要用于强制复杂的业务规则或要求。触发器还有助于强制引用完整性,以便在添加、更新或删除表中的行时保留表之间已定义的关系。 1.触发器的类型 触发器可以分为AFTER触发器和INSTEAD OF触发器。 2. 使用触发器的优点 强制比CHECK约束更复杂的数据完整性。 使用自定义的错误提示信息。 触发器可以通过数据库中的相关表进行级联更改。 比较数据库修改前后数据的状态。 维护规范化数据。 CREATE TRIGGER语句语法格式如下: ? CREATE TRIGGER trigger_name ON { table | view } [ WITH ENCRYPTION ] { ????{ { FOR | AFTER | INSTEAD OF } { [DELETE] [,INSERT] [,UPDATE] } ????????[ NOT FOR REPLICATION ] ????????AS ????????[ { IF UPDATE ( column ) ????????????[ { AND | OR } UPDATE ( column ) ] ????????????????[ ...n ] ????????| IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask ) ????????{ comparison_operator } column_bitmask [ ...n ] ????????} ] ????????sql_statement [ ...n ] ????} } INSERT触发器通常被用来验证被触发器监控的字段中的数据是否满足要求的标准,以确保数据完整性。这种触发器是在向指定的表中插入记录时被自动执行的。创建的INSERT触发器可以分为AFTER和INSTEAD OF两种不同类型的触发器,AFTER类型触发器是在系统执行到INSERT语句时被触发,在INSERT语句执行完毕后再去执行触发器的相关操作;而INSTEAD OF类型触发器是在系统执行到INSERT语句时被触发,但在INSERT语句执行前即执行触发器相关操作,而该INSERT语句则不再执行。 在“学生选课”数据库中的“学生”表上创建一个名为xuesheng_tri1的AFTER类型触发器,当用户向“学生”表中添加一条记录时,提示“已成功向学生表中添加一条记录!” 触发器创建后,用户向“学生”表中插入数据时,该触发器将被执行,而且是数据先被插入到表中,然后再执行触发器。 在“学生选课”数据库中的“学生”表上创建一个名为xuesheng_tri2的INSTEAD OF类型触发器,当用户向“学生”表中添加一条记录时,提示“您未被授权执行插入操作!”同时阻止用户向“学生”表中添加记录。对应的SQL语句如下: USE 学生选课

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档