需求概述:外部来数据后,要跟差值算法补充特定列的数值,处理完后通过触发器还要把新获得的数据转发出去。
设计了两个触发器,一个是instead of触发器,负责在入库前查补数据;另外一个是alter触发器,负责入库后的数据转发出去;
由于外部来的数据很多是批量量的,因此在instead of触发器内需要配套一个游标循环
DECLARE cur_Insert cursor
for select stcd,tm,z,q,wptn,msqmt from inserted
open cur_Insert
fetch next from cur_Insert into @STCD,@TM,@Z,@Q,@WPTN,@MSQMT
while @@FETCH_STATUS =0
begin
--调用查补数据的数据库自定义函数
select @@fetch_status --结束之前要预读一次才知道结束没有,不这样写,就会导致最后一次遍历执行两次
fetch next from cur_Insert into @STCD,@TM,@Z,@Q,@WPTN,@MSQMT
end