SQL触发器基本教程

SQL触发器基本教程

ID:39468424

大小:19.78 KB

页数:4页

时间:2019-07-04

SQL触发器基本教程_第1页
SQL触发器基本教程_第2页
SQL触发器基本教程_第3页
SQL触发器基本教程_第4页
资源描述:

《SQL触发器基本教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、一、创建一个简单的触发器触发器是一种特殊的存储过程,类似于事件函数,SQLServer™允许为INSERT、UPDATE、DELETE创建触发器,即当在表中插入、更新、删除记录时,触发一个或一系列T-SQL语句。触发器可以在查询分析器里创建,也可以在表名上点右键->“所有任务”->“管理触发器”来创建,不过都是要写T-SQL语句的,只是在查询分析器里要先确定当前操作的数据库。创建触发器用CREATETRIGGERCREATETRIGGER触发器名称ON表名FORINSERT、UPDATE或DELETEAS   T-SQL语句注意:触发器名

2、称是不加引号的。如下是联机丛书上的一个示例,当在titles表上更改记录时,发送邮件通知MaryM。CREATETRIGGERreminderONtitlesFORINSERT,UPDATE,DELETEAS  EXECmaster..xp_sendmail'MaryM',     'Don''tforgettoprintareportforthedistributors.'二、删除触发器用查询分析器删除在查询分析器中使用droptrigger触发器名称来删除触发器。也可以同时删除多个触发器:droptrigger触发器名称,触发器名称.

3、..注意:触发器名称是不加引号的。在删除触发器之前可以先看一下触发器是否存在:ifExists(selectnamefromsysobjectswherename=触发器名称andxtype='TR')用企业管理器删除在企业管理器中,在表上点右键->“所有任务”->“管理触发器”,选中所要删除的触发器,然后点击“删除”。三、重命名触发器用查询分析器重命名execsp_rename原名称,新名称sp_rename是SQLServer™自带的一个存储过程,用于更改当前数据库中用户创建的对象的名称,如表名、列表、索引名等。用企业管理器重命名在表

4、上点右键->“所有任务”->“管理触发器”,选中所要重命名的触发器,修改触发器语句中的触发器名称,点击“确定”。四、more....INSTEADOF执行触发器语句,但不执行触发触发器的SQL语句,比如试图删除一条记录时,将执行触发器指定的语句,此时不再执行delete语句。例:createtriggerfontblinsteadofdeleteas   insertintoLogs...IFUPDATE(列名)检查是否更新了某一列,用于insert或update,不能用于delete。例:createtriggerfon tblfor 

5、updateas   ifupdate(status) orupdate(title)       sql_statement--更新了status或title列inserted、deleted这是两个虚拟表,inserted保存的是insert或update之后所影响的记录形成的表,deleted保存的是delete或update之前所影响的记录形成的表。例:createtriggertbl_deleteontblfordeleteas    declare@titlevarchar(200)    select@title=title

6、fromdeleted   insertintoLogs(logContent)values('删除了title为:'+title+'的记录')说明:如果向inserted或deleted虚拟表中取字段类型为text、image的字段值时,所取得的值将会是 null。五、查看数据库中所有的触发器在查询分析器中运行:use数据库名goselect*fromsysobjectswherextype='TR'sysobjects保存着数据库的对象,其中xtype为TR的记录即为触发器对象。在name一列,我们可以看到触发器名称。六、sp_hel

7、ptext查看触发器内容用查询分析器查看use数据库名goexecsp_helptext'触发器名称'将会以表的样式显示触发器内容。除了触发器外,sp_helptext还可以显示规则、默认值、未加密的存储过程、用户定义函数、视图的文本用企业管理器查看在表上点右键->“所有任务”->“管理触发器”,选择所要查看的触发器存储过程七、sp_helptrigger用于查看触发器的属性sp_helptrigger有两个参数:第一个参数为表名;第二个为触发器类型,为char(6)类型,可以是INSERT、UPDATE、DELETE,如果省略则显示指定

8、表中所有类型触发器的属性。例:use数据库名goexecsp_helptriggertbl 八、递归、嵌套触发器递归分两种,间接递归和直接递归。我们举例解释如下,假如有表1、表2名称分别为T1

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

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

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