需求概述:外部来数据后,要跟差值算法补充特定列的数值,处理完后通过触发器还要把新获得的数据转发出去。
设计了两个触发器,一个是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
本文介绍如何使用SQL触发器处理外部批量数据,通过insteadof触发器在数据入库前进行差值算法补充,以及使用alter触发器进行数据转发。文章详细展示了游标的使用,包括声明、打开、获取数据及关闭过程。
104

被折叠的 条评论
为什么被折叠?



