CREATE TRIGGER TR_test ON [dbo].[A1]
FOR UPDATE
AS
if not exists(select 1 from A2 where uid=(select id from deleted))
insert into A2(kdata,uid) select kdata,id from inserted
else
update A2 set kdata=(select kdata from inserted),uid=(select id from inserted) where uid=(select id from deleted)
FOR UPDATE
AS
if not exists(select 1 from A2 where uid=(select id from deleted))
insert into A2(kdata,uid) select kdata,id from inserted
else
update A2 set kdata=(select kdata from inserted),uid=(select id from inserted) where uid=(select id from deleted)
for update
as
begin
update A2 set kdata=inserted.kdata from A2,inserted where inserted.id=A2.uid
insert into A2(kdata,uid) select kdata,id
from inserted
where id not in (select uid from A2)
end