SQL_Server_2005触发器

上传人:sx****84 文档编号:243025359 上传时间:2024-09-14 格式:PPT 页数:32 大小:133KB
返回 下载 相关 举报
SQL_Server_2005触发器_第1页
第1页 / 共32页
SQL_Server_2005触发器_第2页
第2页 / 共32页
SQL_Server_2005触发器_第3页
第3页 / 共32页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,Page,*,点击此处结束放映,第9章 触发器,触发器简介,9.1,创建触发器,9.2,修改触发器,9.3,删除触发器,9.4,1,SQL Server 2005提供了两种主要机制来强制执行业务规则和数据完整性:约束和触发器。就本质而言,触发器也是一种存储过程,但是是一种特殊类型的存储过程。触发器只要满足一定的条件,就可以触发完成各种简单和复杂的任务,可以帮助我们更好地维护数据库中数据的完整性。本章要重点理解触发器的特点和作用,掌握创建和管理触发器的方法。,2,9.1 触发器简介,9.1.1 触发器的概念,9.1.2 触发器的类型和触发操作,9.1.3 触发器的功能,3,触发器是一种特殊的存储过程,在语言事件发生时,所设置的触发器就会自动被执行,以进行维护数据完整性或其他一些特殊的任务。,与上一章介绍的一般意义的存储过程不同,触发器是当发生DML或DDL语言事件时自动执行的存储过程。不能直接被调用,也不能传递或接受参数。,9.1.1 触发器的概念,4,9.1.2 触发器的类型和触发操作,1类型,(1)DML触发器。DML触发器是一种与表紧密关联的特殊的存储过程,当数据库中发生数据操作语言(DML)事件时将调用DML触发器。, AFTER触发器, INSTEAD OF触发器,5,(2)DDL触发器。与DML触发器一样,DDL触发器也是通过事件来激活并执行其中的SQL语句。但与DML触发器不同,DDL触发器是在响应数据定义语言(DDL)语句时激发。这些语句主要是以CREATE、ALTER和DROP开头的语句。DDL触发器可用于管理任务,例如审核和控制数据库操作。,6,2触发操作,(1)DML触发器。,(2)DDL触发器。,7,9.1.3 触发器的功能,1DML触发器,(1)级联修改数据库中相关的表。,(2)实现比CHECK约束更为复杂的约束操作。,(3)拒绝或回滚违反引用完整性的约束操作。,(4)比较表修改前后数据之间的差别,并根据差别采取相应的操作。,8,2DDL触发器,(1)防止对数据库架构进行某些更改。,(2)使得数据库中发生某种情况以响应数据库架构中的更改。,(3)记录数据库架构中的更改或事件。,9,9.2.1 使用图形化工具创建DML触发器,9.2.2 使用Transact-SQL创建DML触发器,9.2.3 使用Transact-SQL创建DDL触发器,9.2 创建触发器,10,这里举例说明在Sales数据库的Goods表中使用图形化工具创建DML触发器的方法,操作步骤如下。,9.2.1 使用图形化工具创建DML触发器,11,(1)启动SSMS,连接到数据库实例,在“对象资源管理器”窗口中展开数据库实例。,(2)依次选择“数据库”DML触发器所在的数据库,这里选择“Sales”“表”触发器所在的表,这里选择“dbo Goods”“触发器”右键快捷菜单的“新建触发器”选项。,12,(3)这时就在SSMS右边打开了“创建触发器”模板,其中已经加入了一些创建触发器的代码。,(4)在“创建触发器”模板中,直接修改代码,或者选择“查询”菜单“指定参数的模板” 选项,打开“指定模板参数的值”对话框,如图所示。,13,“指定模板参数的值”对话框,14,(5)指定模板参数,根据上述例子要求,触发器名称Trigger_Name的值指定为Tri_Newgood,触发器表Table_Name的值指定为goods,数据变动类型Data_Modification_Statements的值指定为INSERT,单击“确定”按钮,返回到创建触发器的模板窗口,此时内容已经改变。,(6)之后在模板里根据具体要求修改其他代码,如图9.4所示。然后单击SQL编辑器工具栏上的 按钮,完成触发器的创建。,15,用CREATE TRIGGER语句创建DML触发器,要注意的是该语句必须是批处理中的第一条语句,并且只能应用于一个表。CREATE TRIGGER语句的部分语法格式如下:,9.2.2 使用Transact-SQL创建DML触发器,16,创建DDL触发器的语法格式如下:,9.2.3 使用Transact-SQL创建DDL触发器,17,9.3 修改触发器,9.3.1 使用图形化工具查看和修改DML触发器,9.3.2 使用Transact-SQL查看和修改DML触发器,9.3.3 禁用或启用DML触发器,9.3.4 修改DDL触发器,18,使用图形化工具查看和修改DML触发器的操作步骤如下。,(1)启动SSMS,连接到数据库实例,在“对象资源管理器”窗口中展开数据库实例。,(2)依次选择“数据库”DML触发器所在的数据库“表”DML触发器所在的表“触发器”右键快捷菜单的“修改”选项。,9.3.1 使用图形化工具查看和修改DML触发器,19,(3)这时就在SSMS右边打开了该触发器的代码编辑框,在这里可以查看触发器,也可以修改该触发器。如果是修改触发器,直接修改其代码,然后单击SQL编辑器工具栏上的按钮,完成该触发器的修改。,20,9.3.2 使用Transact-SQL查看和修改DML触发器,1查看DML触发器信息,(1)使用系统存储过程sp_helptrigger返回指定表中定义的当前数据库的触发器类型。,EXEC sp_helptrigger 表名|视图名 ,触发器操作类型,21,EXEC sp_helptext 触发器名称,(2)查看触发器的定义文本。,EXEC sp_help 触发器名称,(3)查看触发器的所有者和创建日期。,22,2修改DML触发器,23,3重命名DML触发器,24,9.3.3 禁用或启用DML触发器,1通过图形化工具禁用或启用触发器,使用SSMS禁用触发器的步骤与通过SSMS修改触发器的步骤类似,只要右键单击要禁用的触发器,在弹出的快捷菜单中选择“禁用”选项。如要启用,则选择已经禁用的触发器右键快捷菜单上的“启用”选项即可。,25,2使用T-SQL语句禁用或启用DML触发器,语法格式如下:,26,修改DDL触发器通过ALTER TRIGGER语句实现,基本语法格式如下:,9.3.4 修改DDL触发器,27,9.4 删除触发器,9.4.1 通过图形化工具删除触发器,9.4.2 使用Transact-SQL删除触发器,28,首先在SSMS对象资源管理器中选择要删除的DML触发器或DDL触发器,在右键快捷菜单中选择“删除”选项,在打开的“删除对象”窗口中单击“确定”按钮即可删除该触发器。,9.4.1 通过图形化工具删除触发器,29,通过DROP TRIGGER语句,可以从当前数据库中删除一个或多个DML或DDL触发器。删除触发器的语法格式如下:,DROP TRIGGER 触发器名称,n,9.4.2 使用Transact-SQL删除触发器,30,触发器是一种与数据库和表相结合的特殊的存储过程,SQL Server 2005有两类触发器:DML触发器和DDL触发器。当表有INSERT、UPDATE、DELETE操作影响到触发器所保护的数据时,DML触发器就会自动触发执行其中的T-SQL语句。,本章小结,31,一般在使用DML触发器之前应优先考虑使用约束,只在必要的时候才使用DML触发器。而当数据库有CREATE、ALTER、DROP操作时,可以激活DDL触发器,并运行其中的T-SQL语句。触发器主要用于加强业务规则和数据完整性。通过本章的学习,应掌握DML和DDL触发器的创建、修改和删除。,32,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!