首页 > 数据库

SQL Server中的触发器trigger

时间:2009-05-19 09:32:08  作者:ben  我要投稿
Linux初探欢迎您的投稿,投放方法请点击这里查看,我们会定期赠送精美小礼品给优秀的投稿作者。海纳百川 取则行远!LinuxGoo欢迎您的到来。
发现教材上的第五章中讲到的触发器对Sql Server 2000都不太实用。在SQL Server中create trigger的格式如下: use DB_namegocreate trigger trigger_nameon table_N......

发现教材上的第五章中讲到的触发器对Sql Server 2000都不太实用。在SQL Server中create trigger的格式如下:

Code highlighting produced by Actipro CodeHighlighter (freeware) http://www.CodeHighlighter.com/ use DB_name
go
create trigger trigger_name
on table_Name
// On 关键字
[with Encryption] //加密
for [/ after] {[insert [,]/ update [,] /delete]}
--指定触发器只有在触发SQL语句中制定的所有操作都已经成功执行后才激发。
(包括所有的级联和约束都检查成功后才能激发)
AS
[SQL
-statements]
go
 

触发器 trigger触发器在制定的表中发生变化时被调用以响应insert,update,delete事件。trigger可以查询其他表,包含复杂的T-SQL语句,并支持回滚.

每个触发器都会创建两个逻辑专用表:inserted 和 deleted表,表结构与被触发作用的表结构相同执行完毕后 与触发器相关的两个表都会被删除。

  • 当执行insert语句时,inserted表存放要向表中插入的所有行;当执行delete语句时,deleted表存放要向表中删除的所有行。
  • 当执行update语句时,相当于执行一个delete操作,再执行一个insert操作,旧的行先被移动到deleted表,然后再在新值插入到inserted表和目标表。

利用触发器instead of 语句代替其他语句操作 (就不执行instead of 后面指定的SQL指令而执行Trigger体[SQL-statements])

如果您需转载 SQL Server中的触发器trigger,请注明来自LinuxGoo.com,其版权归原作者所有。请广大网友留言时遵纪守法,使用文明用语。如果您在应用中有什么问题,请在下面留言,我们会尽快解答。
来顶一下
近回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
相关文章
栏目热门