一句insert批量插入,并需要在触发器里写各种判断逻辑,这时候需要用游标,代码如下:
除了把游标主键字段(下面红色id)改一下和循环中的业务逻辑按照自己实际情况写,其他的黑色字体部分无需改动。然后在循环中使用@subid代表其中一行的主键了。
declare @subid int --设定游标循环,更新配送关系表,以配送关系id为单位 declare subdata_curr cursor for select id from inserted --这里查出主键,以主键为游标标识 open subdata_curr --打开游标 fetch next from subdata_curr into @subid --开始循环游标变量 while(@@fetch_status=0) begin --业务逻辑 declare @in_count int, select @in_count = i.入库数量 from inserted i where i.id = @subid fetch next from subdata_curr into @subid --循环游标变量 end close subdata_curr deallocate subdata_curr --关闭、释放游标