日期:2014-05-18  浏览次数:20571 次

一个简单的触发器的问题
哥们没写过这东西
想实现这样的功能   就是   一个表中   有   4个字段   都是bit   类型   默认值   都为0   想让其中三个字段(固定的三个字段)为1时   另外一个自动变成   1   请问如何来实现   谢谢

------解决方案--------------------
create trigger tr_表 on 表
for insert,update
as
if exists(select 1 from inserted where 字段1=1 and 字段2=1 and 字段3=1)
begin
update 表
set 字段4=1
from 表, inserted i
where 表.字段4=0 and i.字段1=1 and i.字段2=1 and i.字段3=1
end
------解决方案--------------------
create trigger tr_tablename_update
on tablename
for update,insert
as

update a
set 另外一个=1
from tablename a,inserted i
where a.关键字=i.关键字
and a.固定1=1
and a.固定2=1
and a.固定3=1
and a.另外一个=0

go

------解决方案--------------------
关键字指的你实际的主键,比如ID列.
我上面写的那个有问题,没有写关联条件.