(MSSQL)在数据表中设置标志开关,进行触发器的有选择工作
新建表:
Create Table wTblTestExt
(
AutoId int IDENTITY,--主键
CSName char(10) NOT NULL DEFAULT (''),
IdFlag smal
(MSSQL)在数据表中设置标志开关,进行触发器的有选择工作 新建表: 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时Mssq创建数据表,将触发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表中有刚新插入的记录保存 (编辑:威海站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |