首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sqlserver創筑使用觸發器

2012-07-26 
sqlserver創建使用觸發器一般地,创建触发器的语法如下: Create Trigger触发器名称 On 表名|视图名--指定所

sqlserver創建使用觸發器

一般地,创建触发器的语法如下:  
Create Trigger触发器名称  
On 表名|视图名    --指定所创建的触发器与某个已存在的表或视图关联   For {Insert, Delete, Update}  --指定触发器的类型(即插入,删除,更新或它们的任意组合)  
As
  SQL语句    --指定触发器的动作

工作原理
   对于每个触发器,SQL Server都会自动创建2个临时工作表,即inserted表和deleted表,这2个表作为系统的专用表存放于内存中,其结构与被作用的表相同,且在触发行为结束后自动被删除。
下面分别说明inserted和deleted这二个工作表与客户端发出的Insert,Delete或Update请求的关系。

请求       工作表名称           工作表内容
Insert     Inserted             被插入的行
           Deleted               /

Delete     Inserted             /
           Deleted              被删除的行

Update     Inserted             被插入的行
           Deleted              被删除的行

IF EXISTS (SELECT name   FROM   sysobjects   WHERE  name = N'triUpdPartsQty'   AND   type = 'TR')    DROP TRIGGER  triUpdPartsQtyGOCREATE TRIGGER triUpdPartsQtyON  Part_sFOR  UPDATEASIf UPDATE(PS_QTY) OR UPDATE(PS_AVAILABLE)BEGINupdate Part_s set UPD_DATE= convert(nvarchar(8),getdate(),112) from Part_s psinner join  Inerted i on ps.P_NO=i.P_NO and ps.S_NO=i.S_NOEND

热点排行