SQL数据库触发器的使用方法(1)_SQL SERVER数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

SQL数据库 触发器的使用方法(1)

作者:黑客防线网安SQL维护基地 来源:黑客防线网安SQL维护基地 浏览次数:0

黑客防线网安网讯:     触发器建立的代码 Create Trigger TG_ProjectNameOn table1After Update AsUpdate table2Set [工程名]=b.工程名from table2 a,inserted bwhere a.ProjID = b.ID   关于触发器中Inser...

     触发器建立的代码
Create Trigger TG_ProjectNameOn table1After Update AsUpdate table2Set [工程名]=b.工程名from table2 a,inserted bwhere a.ProjID = b.ID


  关于触发器中Inserted和Deleted的解释

  inserted触发器语句中使用了两种特殊的表:deleted 表和 inserted 表Microsoft® SQL Server 2000 自动创建和管理这些表。可以使用这两个临时的驻留内存的表测试某些数据修改的效果及设置触发器操作的条件;然而不能直接对表中的数据进行更改。

  inserted 和 deleted 表主要用于触发器中:

  ◆扩展表间引用完整性。

  ◆在以视图为基础的基表中插入或更新数据。

  ◆检查错误并基于错误采取行动。

  ◆找到数据修改前后表状态的差异并基于此差异采取行动。

  Deleted 表用于存储 DELETE 和 UPDATE 语句所影响的行的复本。在执行 DELETE 或 UPDATE 语句时,行从触发器表中删除,并传输到 deleted 表中。Deleted 表和触发器表通常没有相同的行。

  Inserted 表用于存储 INSERT 和 UPDATE 语句所影响的行的副本。在一个插入或更新事务处理中,新建行被同时添加到 inserted 表和触发器表中。Inserted 表中的行是触发器表中新行的副本。

  更新事务类似于在删除之后执行插入;首先旧行被复制到 deleted 表中,然后新行被复制到触发器表和 inserted 表中。

  在设置触发器条件时,应当为引发触发器的操作恰当使用 inserted 和 deleted 表。虽然在测试 INSERT 时引用 deleted 表或在测试 DELETE 时引用 inserted 表不会引起任何错误,但是在这种情形下这些触发器测试表中不会包含任何行。

  说明

  如果触发器操作取决于一个数据修改所影响的行数,应该为多行数据修改(基于 SELECT 语句的 INSERT、DELETE 或 UPDATE)使用测试(如检查 @@ROWCOUNT),然后采取相应的对策。

  SQL Server 2000不允许AFTER 触发器引用 inserted 和 deleted 表中的 text、ntext 或 image 列;然而,允许 INSTEAD OF 触发器引用这些列。有关更多信息,请参见 CREATE TRIGGER。

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-10861-1.html
网站维护教程更新时间:2012-03-21 03:11:32  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer