declare @flag table(row int identity,id int)
insert @flag(id) select id from inserted
insert temp_tableA(id,name,flag)
select i.id,i.name,(select isnull(max(i),0) from tableB)+f.row
from inserted as i inner join @flag as f on i.id=f.id
insert @flag(id) select id from inserted
insert temp_tableA(id,name,flag)
select i.id,i.name,(select isnull(max(i),0) from tableB)+f.row
from inserted as i inner join @flag as f on i.id=f.id
select @tmpflag = max(i) from tableB
select id,name,identity(int,1,1) as no into #tmp from inserted
insert temp_tableA(id,name,flag) select id,name,@tmpflag+no from #tmp
set @tmpflag = select max(i) from tableB
insert temp_tableA (id,name,flag) select id,name,@tmpflag+(select sum(1) from inserted where id<=tem.id) from inserted tem
当其被UPDATE时往其对应的目的表里写数据
每条记录被UPDATE时同时将deleted和inserted里的记录插入目的表
但是当多条记录被UPDATE时
SQLSERVER会先把所有的deleted里的记录先插入目的表
再把所有的inserted里的记录插入目标表
根据需求不可以这样
必须逐条UPDATE
即deleted后inserted再进行下一条的deleted和inserted
我想到了使用游标
不过我从没用过
看帮助也搞不清楚
哪位老大能帮忙给个例子啊?
我先谢过了!!!