我一直在搜索我的问题,但我没有发现任何相关内容。
我正在执行标志为FIRE_TRIGGERS的批量插入。
因此,我需要将批量插入中的每一行传递给一个过程。
当我逐行执行插入时,我的触发器工作正常,但是当我执行批量插入时,我的触发器不起作用。
我的触发器代码:
ALTER TRIGGER [dbo].[tgSetDetails]
ON [PORTALSQLDB].[dbo].[BurnTimeRawData]
AFTER INSERT
AS
BEGIN
SET NOCOUNT ON;
DECLARE @ServiceTag varchar(10);
DECLARE @Platform varchar(50);
SELECT
@ServiceTag = ServiceTag,
@Platform = Platform
FROM
inserted
EXEC spBurnTimeInsertData @ServiceTag, @Platform
END
知道如何做这份工作吗?
谢谢:)
答案 0 :(得分:0)
对于每个插入语句或批量插入批处理,此触发器将触发一次。要为每一行调用proc,您需要一个游标。
将proc代码重构为基于集合的操作以包含在触发器代码中会更好。这样做会好得多。