- 12
- 0
- 约1.49万字
- 约 67页
- 2015-12-13 发布于广东
- 举报
use test go create trigger mytrig on all server for create_login as print 对不起,您无权限创建登录! rollback go create login xingmin with password=123456 9.2.4 查看、修改和删除触发器 1. 查看数据库中已有触发器 查看表中已有哪些触发器,这些触发器究竟对表有哪些操作,我们需要能够查看触发其信息。查看触发器有两种常用方法: (1)使用SQL Server 2008的SSMS查看触发器信息 在SQL Server 2008中,展开服务器和数据库,此处我们选择展开stuinfo数据库。选择表student,展开触发器选项,即看到建立的触发器。右击触发器,从弹出的快捷菜单中选择修改,即可看到触发器的源代码。 (2)使用系统存储过程查看触发器 由于触发器为一种特殊的存储过程,我们可以使用前面介绍的系统存储过程sp_help和sp_helptext来查看触发器信息。 sp_help:用于查看触发器的一般信息,如触发器的名称、属性、类型和创建时间等。格式为:EXECUTE sp_help 触发器名称; sp_helptext:用于查看触发器的T-SQL代码信息。格式为: EXECUTE sp_helptext 触发器名称 查看数据库中所有触发器信息要使用sysobjects表来辅助完成,语句为: SELECT * FROM sysobjects WHERE xtype=’TR’ 2. 修改数据库中已有触发器 修改触发器也可以在SQL Server 2008的SSMS中完成,步骤与查看触发器信息一致。 使用T-SQL语句修改触发器要区分是DML类触发器还是DDL类触发器,修改格式分别为: (1)修改DML触发器 ALTER TRIGGER 触发器名称 ON {table | view } {FOR |AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] } AS SQL语句 [,…n] (2)修改DDL触发器 ALTER TRIGGER 触发器名称 ON {ALL SERVER| DATABASE} { FOR |AFTER } {事件类型|事件组} [,…n] AS SQL语句 [,…n] 3. 删除触发器: 系统提供三种方法来删除触发器: (1)在SQL Server 2008的SSMS中完成,右击待删除的触发器,从弹出的快捷菜单中选择删除命令。 (2)删除触发器所在的表。在删除表时,系统会自动删除与该表相关的触发器。 (3)使用T-SQL语句DROP TRIGGER删除触发器。 基本语句格式为: DROP TRIGGER 触发器名称 [,…n] Sql server 2008为每个触发器语句创建了两种特殊的表: Delete表和inserted表。这是两个逻辑表,由系统亲自创建及维护,用户不能对它们进行修改。它们存放在内存中而不是数据库中。 这两个表的结构总是与被该触发器作用的表结构相同.触发器执行完成后,与该触发器相关的这两个表也会被删除。 9.2.2 DML触发器的创建和应用 2. 触发器中的逻辑(虚拟)表 Delete表:存放由执行delete或update语句而要从表中删除的所有行。在执行delete或update操作时,被删除的行从触发器有中被移动到Delete表中,这两个表不会有相同的行。 Inserted表:存放由执行insert或update语句而要向表中插入的所有行。在执行insert或update操作时,新的行同时添加到触发器表和inserted表中, Inserted表的内容是触发器表中新行的副本。 create trigger stu_trig on student for update as if update(sno) begin raiserror(不能修改学号!,10,1) rollback end go raiserror(@ls_mess,10,1) --这个是输出错误信息。 RAISERROR 可以替代 PRINT 将消息返回到调用应用程序。RAISERROR 支持类似于 C 标准库中 printf 函数功能的字符替代,而 Transact-SQL PRINT 语句则不支持。PRINT 语句不受 TRY 块的影响,而在严重级别为 11 到 19 的情况下在 TRY 块中运行的 RAISERROR 会将控制传输至关联的 CATCH 块。 指定严重级别为 10 或更低以使用 RAISER
您可能关注的文档
- Red Hat Linux基础教程(第二版) 作者 978-7-302-28872-5 chapter08.ppt
- Red Hat Linux基础教程(第二版) 作者 978-7-302-28872-5 chapter09.ppt
- Red Hat Linux基础教程(第二版) 作者 978-7-302-28872-5 chapter10.ppt
- Red Hat Linux基础教程(第二版) 作者 978-7-302-28872-5 chapter13.ppt
- Red Hat Linux基础教程(第二版) 作者 978-7-302-28872-5 chapter14.ppt
- Red Hat Linux基础教程(第二版) 作者 978-7-302-28872-5 chapter15.ppt
- Red Hat Linux基础教程(第二版) 作者 978-7-302-28872-5 chapter18.ppt
- Red Hat Linux基础教程(第二版) 作者 978-7-302-28872-5 chapter20.ppt
- Red Hat Linux基础教程(第二版) 作者 978-7-302-28872-5 chapter22.ppt
- Red Hat Linux基础教程(第二版) 作者 978-7-302-28872-5 chapter23.ppt
- 爱国主义教育演讲三分钟.pdf
- 2022烟台中考实施方案(精选6篇).pdf
- 综合英语第一册unit1-12课后答案.pdf
- 2026年春季学期教学副校长关于智慧课堂应用推进实施方案.docx
- 2025-2026学年第二学期班主任关于学生假期生活指导方案.docx
- 2026年春季学期教学副校长关于教师教学述评制度实施细则.docx
- XX初级中学心理教师在心理委员培训会上的职责明确与朋辈辅导技能讲解培训.docx
- XX市第一九一中学2025年秋季学期学校党建工作汇报材料.docx
- XX中学校学生代表在2025秋季学期期末总结表彰大会上的学习经验交流与时间管理方法分享.docx
- 2026年春季学期教导处关于开展劳动教育课程实施的阶段性汇报.docx
原创力文档

文档评论(0)