SQL条件触发器问题

来源:百度知道 编辑:UC知道 时间:2024/05/11 13:45:13
表1: A_From
字段:Taskid F_OuSkey
数据:8162 已审核

表2: A_From_bak
字段:Taskid F_OuSkey
数据:8162 已审核
我想设计一个触发器,表1:A_From中的F_OuSkey只要更新为'已审核',我就判断表2:A_From_bak中是否有相同记录,如果没有就插入新记录。如果有就更新此记录。(两个表的结构都相同)

CREATE TRIGGER trg_A_From_ChangeState ON A_From
FOR INSERT,UPDATE
AS
declare @TID int
declare @State char(10)

if update(F_OuSkey)
begin
select @TID=Taskid,@State=F_OuSkey from inserted
print @State
if @State='已审核'
begin
if exists(select * from A_From_bak where Taskid=@TID)
update A_From_bak set F_OuSkey='已审核' where Taskid=@TID
else
insert into A_From_bak (Takid,F_OuSkey) values (@Tid,@State)
end
end