帮忙写一个触发器~~~实在不懂

来源:百度知道 编辑:UC知道 时间:2024/05/24 20:32:11
有个表TBC(id,state,endtime),分别为varchar,int(只限1,2,3三个数),datetime格式,id为主键
请大家帮忙写一个触发器,
在插入或者更新的情况下,
如果state=2或者3时,自动设endtime为当前时间,
如果当state=1的时候,直接插入或更新。

MSSQL的,不知道你什么数据库,供参考
create trigger Trigger_tbc on TBC
for insert,update as
begin
update tbc
set endtime = getdate()
from inserted a,tbc b
where (a.state = 2 or a.state = 3)
and a.id = b.id
end
go

oracle:
create or replace trigger checkstate_tri
before insert or update on TBC
for each row
begin
if :new.state=1 then
insert......
end if;
if :new.state=2 or :new.state=3 then
update......
end if;
end;