| 发表于:2007-05-19 14:23:303楼 得分:0 |
需要用游标,因为李4有两个同样的记录 create trigger a on 表二 after delete as declare b cursor for select * from deleted open b declare @data1 varchar(10),@data2 varchar(10),@data0 int fetch next from b into @data0,@data1,@data2 if not exists(select 1 from 表一 where 表一.名字=@data1 and 表一.宝物=@data2) insert 表一(名字,宝物,数量) select @data1,@data2,1 else update 表一 set 数量=数量+1 where 表一.名字=@data1 and 表一.宝物=@data2 while(@@fetch_status=0) begin if not exists(select 1 from 表一 where 表一.名字=@data1 and 表一.宝物=@data2) insert 表一(名字,宝物,数量) select @data1,@data2,1 else update 表一 set 数量=数量+1 where 表一.名字=@data1 and 表一.宝物=@data2 end close b deallocate b | | |
|