- 1、本文档共39页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章存因储过程与触发器
创建触发器 使用对象资源管理器创建触发器 使用命令创建触发器 CREATE TRIGGER trigge_name ON {table | view} {FOR | AFTER | INSTEAD OF}{[INSERT],[UPDATE],[DELETE]} [WITH ENCRYPTION] AS IF UPDATE(column_name) [{and|or} UPDATE(column_name)…] sql_statesments 创建触发器 创建触发器 管理触发器 使用系统存储过程查看触发器信息 系统存储过程sp_help、sp_helptext和sp_depends分别提供有关触发器的不同信息。 使用系统表查看触发器信息 用户还可以通过查询系统表sysobjects得到触发器的相关信息。 使用对象资源管理器查看触发器的相关信息 使用sp_rename命令修改触发器的名字 sp_rename oldname, newname 其中,oldname为触发器原来的名称,newname为触发器的新名称。 通过对象资源管理器修改触发器定义 管理触发器 使用ALERT TRIGGER命令修改触发器 ALTER TRIGGER trigge_name ON {table|view} {FOR|AFTER|INSTEAD OF} {INSERT,UPDATE,DELETE}[WITH ENCRYPTION] AS IF UPDATE(column_name) {and|or} UPDATE(column name)…] sql_statesments 管理触发器 使用DROP TRIGGER删除触发器 DROP TRIGGER trigger_name 使用对象资源管理器删除触发器,右击将要删除触发器,在弹出菜单中选择“删除”,接着再单击“删除对象”对话框中的“确定”即可。 删除数据表将自动删除与数据表相关的触发器。 当不再需要某个触发器时,可以将其删除。 删除了触发器后,它所基于的表和数据不会受到影响。 管理触发器 禁止和启用触发器 ALTER TABLE table_name {ENABLE | DISABLE} TRIGGER {ALL | trigger_name[,…n]} 在有些情况下,用户希望暂停触发器的作用,但并不删除它,这时就可以通过DISABLE TRIGGER语句使触发器无效; DISABLE TRIGGER指定禁用trigger_name 要使DML触发器重新有效,可使用ENABLE TRIGGER语句 ENABLE TRIGGER指定启用trigger_name ○ 实验目的 ◎ 理解存储过程和触发器的概念。 ◎学会使用对象资源管理器和SQL编辑器创建存储过程和触发器。 ◎ 学会存储过程和触发器的管理方法。 ○ 实验准备 ◎ 在Windows Server 2000以上版本的微机上安装MS SQL Server 2005 ; ◎ 创建数据库和所需要的数据表 ; ◎ 向各个数据表输入实验数据 。 ○ 实验内容和步骤 ◎ 具体实验内容和步骤参见教材的介绍。 本章实验 本章在学习存储过程、触发器的概念与功能的基础上,讨论了存储过程与触发器的类型,介绍了使用对象资源管理器和T-SQL语句(CREATE PROCEDURE、ALTER PROCEDURE、DROP PROCEDURE、CREATE TRIGGER、ALTER TRIGGER、DROP TRIGGER)创建、修改、删除存储过程和触发器,以及在存储过程中定义和使用输入、输出参数,由INSERT、UPDATE或DELETE语句引起的数据变化而激活触发器。 本章小结 在SQL Server 2005中,许多管理活动和信息活动都是通过一种特殊的存储过程执行的,这种存储过程称为系统存储过程。系统存储过程主要存储在master数据库中并以sp_为前缀。 系统存储过程主要是从系统表中获取信息,从而为数据库系统管理员管理SQL Server提供支持 SQL Server 2005为每个DML触发器都创建了两个专用临时表:Inserted表和Deleted表。这两个表的结构总是与被该触发器作用的表的结构相同,触发器执行完成后,与该触发器相关的这两个表也会被删除。 Inserted表存放由于执行INSERT或UPDATE语句而要向表中插入的所有行。 Deleted表存放由于执行DELETE或UPDATE语句而要从表中删除的所有行。 DML触发器在INSERT、UPDATE和DELETE语句上操作,并且有助
文档评论(0)