gpt4 book ai didi

tsql - 如何检查是否使用 INSERT SELECT (T-SQL) 插入了任何内容

转载 作者:行者123 更新时间:2023-12-02 02:32:22 24 4
gpt4 key购买 nike

我有一个插入语句:

insert into parentTbl
select firstId, secondId, thirdId, dateTm
from importTbl
where codeId = @codeIdParam

我需要可靠地查明插入是否插入了任何东西。理想情况下,我想将 @insertedCount 变量设置为插入的行数,即使它是 0。

我目前正在使用:

set @insertedCount = @@ROWCOUNT

但这似乎只能获取最后插入的行数 - 问题是如果 INSERT SELECT 语句没有插入任何内容,@@ROWCOUNT 不会返回0.

最佳答案

您可以尝试使用 OUTPUT子句,每个插入的行将返回一行;像这样的东西:

insert into parentTbl
output inserted.firstId
select firstId, secondId, thirdId, dateTm
from importTbl
where codeId = @codeIdParam

这将为您提供一个结果集,其中包含每个插入行的 firstId,然后您可以对其进行计数。
一种方法是将 输出到 table-var,然后在最后执行 select count(*) from @tableVar 以获得插入计数。

关于tsql - 如何检查是否使用 INSERT SELECT (T-SQL) 插入了任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3236383/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com