create trigger tri_InsertOrUpdate on tab as if exists(select 1 from inserted where name like'XXX%' and scor=12) begin FScrap=5 end else begin FScrap=2 endif exists(select 1 from delete where name like'XXX%' and scor=12) begin FScrap=5 end else begin FScrap=2 end go
把一楼改一下 create trigger tri_InsertOrUpdate on tab as if exists(select 1 from inserted where name like'XXX%' and scor=12) begin updte tb set FScrap=5 where... end else begin FScrap=2 end if exists(select 1 from delete where name like'XXX%' and scor=12) begin update tb set FScrap=5 where .... end else begin FScrap=2 end go 如果fscrap是变量那先定义。使用set 变量=
把一楼改一下 create trigger tri_InsertOrUpdate on tab after insert,update as if exists(select 1 from inserted where name like'XXX%' and scor=12) begin updte tb set FScrap=5 where... end else begin update tb set FScrap=2 where... end if exists(select 1 from delete where name like'XXX%' and scor=12) begin update tb set FScrap=5 where .... end else begin update tb set FScrap=2 where... end go 如果fscrap是变量那先定义。使用set 变量=
update tb 不是把所有记录都改了?我只改当前插入和更新的一条记录
create trigger tri_InsertOrUpdate on tab after insert,update as if exists(select 1 from inserted where name like'XXX%' and scor=12) begin updte tb set FScrap=5 from inserted where inserted.id=tb.id end else begin update tb set FScrap=2 from inserted where inserted.id=tb.id
on tab
as
if exists(select 1 from inserted where name like'XXX%' and scor=12)
begin
FScrap=5
end
else
begin
FScrap=2
endif exists(select 1 from delete where name like'XXX%' and scor=12)
begin
FScrap=5
end
else
begin
FScrap=2
end
go
第 7 行: 'fscrap' 附近有语法错误。
create trigger tri_InsertOrUpdate
on tab
as
if exists(select 1 from inserted where name like'XXX%' and scor=12)
begin
updte tb set FScrap=5 where...
end
else
begin
FScrap=2
end if exists(select 1 from delete where name like'XXX%' and scor=12)
begin
update tb set FScrap=5 where ....
end
else
begin
FScrap=2
end
go 如果fscrap是变量那先定义。使用set 变量=
create trigger tri_InsertOrUpdate
on tab
after insert,update
as
if exists(select 1 from inserted where name like'XXX%' and scor=12)
begin
updte tb set FScrap=5 where...
end
else
begin
update tb set FScrap=2 where...
end if exists(select 1 from delete where name like'XXX%' and scor=12)
begin
update tb set FScrap=5 where ....
end
else
begin
update tb set FScrap=2 where...
end
go 如果fscrap是变量那先定义。使用set 变量=
on tab
after insert,update
as
if exists(select 1 from inserted where name like'XXX%' and scor=12)
begin
updte tb set FScrap=5 from inserted where inserted.id=tb.id
end
else
begin
update tb set FScrap=2 from inserted where inserted.id=tb.id