日期:2014-05-19  浏览次数:20398 次

100分求一触发器的写法


表   z_attribute   表   z_attribute_backup

两个表字段相同   对表z_attribute   应用触发器

CREATE   TRIGGER   insert_backup   ON   [dbo].[z_attribute]  
FOR   INSERT,update
AS
insert   into   z_attribute_backup(userid,部门,班组,岗位,行政级别,人事属性,原因)
select   userid,部门,班组,岗位,行政级别,人事属性,原因   from   inserted

但是我想加个条件   就是如果INSERT,update   表z_attribute时   字段   原因   =   '进店 '时   触发器   不起作用(就是不insert   into   z_attribute_backup)
如何在这个触发器里实现??

求明白人解惑!~!

------解决方案--------------------
CREATE TRIGGER insert_backup ON [dbo].[z_attribute]
FOR INSERT,update
AS
if not exists(Select * from inserted where 原因 = '进店 ')
begin
insert into z_attribute_backup(userid,部门,班组,岗位,行政级别,人事属性,原因)
select userid,部门,班组,岗位,行政级别,人事属性,原因 from inserted
end
go
------解决方案--------------------
--或者意思是

CREATE TRIGGER insert_backup ON [dbo].[z_attribute]
FOR INSERT,update
AS
insert into z_attribute_backup(userid,部门,班组,岗位,行政级别,人事属性,原因)
select userid,部门,班组,岗位,行政级别,人事属性,原因 from inserted
where 原因 <> '进店 '
go

------解决方案--------------------
CREATE TRIGGER insert_backup ON [dbo].[z_attribute]
FOR INSERT,update
AS
declare @str varchar(500)
set @str=(select 原因 from inserted)
if @str= '进店 '
begin
--不处理
end
else
begin
insert into z_attribute_backup(userid,部门,班组,岗位,行政级别,人事属性,原因)
select userid,部门,班组,岗位,行政级别,人事属性,原因 from inserted
end