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