You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure SQL数据库多行INSERT操作时触发器执行次数咨询

Azure SQL数据库多行INSERT时触发器的执行行为

在Azure SQL数据库中,INSERT触发器默认是语句级触发器——也就是说,不管单条INSERT语句插入多少行数据,触发器只会针对整个语句执行一次,后续调用的存储过程也只会执行一次。

以你给出的示例语句为例:

INSERT INTO table
SELECT 1, 2
UNION
SELECT 3, 4
UNION
SELECT 4, 5;

这条语句一次性插入3行数据,但触发器只会触发1次,对应的存储过程也只会被调用1次。

如果需要对插入的每一行单独处理,可以在触发器中通过inserted系统表获取本次INSERT操作的所有新行(这个表包含了所有被插入的记录),然后在存储过程中基于这个集合进行批量处理,或者在触发器内部采用集合式逻辑处理每行数据(尽量避免逐行循环,以保证性能)。

内容的提问来源于stack exchange,提问作者Ahwan Mishra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.19 11:35:54