gpt4 book ai didi

sql-server-2005 - 如何判断 Sql Server 存储过程是否返回记录

转载 作者:行者123 更新时间:2023-12-04 23:31:03 26 4
gpt4 key购买 nike

在 tsql 中,我正在调用一个返回记录集的 tsql 存储过程。我希望能够判断记录集是否为空。

出于某种原因@@rowcount 总是返回 1。

做这个的最好方式是什么?

还有一件事我无法编辑此存储过程。

最佳答案

在内部存储过程中使用@@rowcount,作为输出参数传回。
在内部存储过程中的 SELECT 之后立即使用 @@rowcount。并像这样调用:

EXEC dbo.InnerProc @p1, ..., @rtncount OUTPUT

或者...

在 SELECT 之后立即在内部存储过程中使用 RETURN @@rowcount。并像这样调用:
EXEC @rtncount = dbo.InnerProc @p1, ...

编辑:

如果您无法编辑 proc,则必须加载一个临时表并对其进行操作。
CREATE TABLE #foo (bar int...)

INSERT #foo
EXEC MyUntouchableProc @p1
SELECT @@ROWCOUNT

@@ROWCOUNT 失败,因为它只显示最后一个语句计数,而不是最后一个 SELECT。它可能是 RETURN、END(在某些情况下)、SET 等

关于sql-server-2005 - 如何判断 Sql Server 存储过程是否返回记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5070733/

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