gpt4 book ai didi

sql - 为什么我无法获取@@rowcount 值?

转载 作者:行者123 更新时间:2023-12-02 15:08:35 38 4
gpt4 key购买 nike

下面是我拥有的 SQL 脚本的简化版本。 print @RowNum 始终显示 0,而不是第一个结果集的真实记录数。怎么了?谢谢。

declare @i int, @RowNum int
set @i=0
while @i<2
begin
execute StoredProcedure @i --containing a big select
if @i=0 set @RowNum=@@rowcount
set @i=@i+1
end
print @RowNum

最佳答案

因为这个if @i=0

将其设置为 0,即使 print 语句也会将其设置为 0

现在运行这个

declare @i int, @RowNum int
set @i=0
while @i<2
begin
if @i=0
begin
execute StoredProcedure @i --containing a big select
set @RowNum=@@rowcount
end
else
execute StoredProcedure @i
set @i=@i+1
end
print @RowNum

这是另一个例子

select 1
union all
select 2

select @@rowcount --2
go

现在是 0

select 1
union all
select 2
if 1=1
select @@rowcount --0

PRINT 也会搞砸,这将是 2

select 1
union all
select 2

select @@rowcount --2
go

这将是 0

select 1
union all
select 2

print '1'
select @@rowcount -- 0

我在这里创建了一篇包含更多示例和解释的帖子:When should you store @@ROWCOUNT into a variable?

关于sql - 为什么我无法获取@@rowcount 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3575860/

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