新建表:
Create Table wTblTestExt
(
AutoId int IDENTITY,--主鍵
CSName char(10) NOT NULL DEFAULT (''),
IdFlag smallint NOT NULL DEFAULT (0)
)
記錄插入表(有選擇)
Create Table wTblTestExtLog
(
AutoId int NOT NULL DEFAULT (0),
CSName char(10) NOT NULL DEFAULT ('')
)
wTblTestExt中的字段IdFlag默認值為0,當其中置值為1時,將觸發wTblTestExt中的insert後的觸發器工作
觸發器如下:
CREATE TRIGGER [wTblTestExt_InsAndLock] ON [dbo].[wTblTestExt]
FOR INSERT
AS
declare @LockFlag tinyint
set @LockFlag=(select IdFlag from inserted)
if @LockFlag=1
begin
insert into wTblTestExtLog (AutoId,CsName) select AutoId,CsName from inserted
end
測試1:
Insert into wTblTestExt (csName) values (‘Michael’)
wTblTestExtLog表中沒有剛新插入的記錄保存
測試2:
Insert into wTblTestExt (csName, IdFlag) values (‘Michael’,1)
wTblTestExtLog表中有剛新插入的記錄保存