gpt4 book ai didi

SQL Server - 测试存储过程的结果

转载 作者:行者123 更新时间:2023-12-04 06:52:23 25 4
gpt4 key购买 nike

在 SQL Server 中,可以测试存储过程的结果以了解结果是否返回行或什么都不返回?

例子 :

EXEC _sp_MySp 1, 2, 3

IF @@ROWCOUNT = 0
BEGIN
PRINT('Empty')
END
ELSE
BEGIN
PRINT(@@ROWCOUNT)
END

但是@@ROWCOUNT 总是返回 0 所以也许有另一种方法可以做到这一点?

最佳答案

您必须将结果插入到表或表变量中:

DECLARE @t TABLE (
Col1 varchar(20),
Col2 varchar(20)
)


INSERT INTO @t
EXEC _sp_MySp 1, 2, 3

IF EXISTS (SELECT 1 FROM @t) PRINT 'Empty'

如果您可以更改存储过程,那么您可以让它返回 @@ROWCOUNT因为它是返回码或作为输出参数:
CREATE PROC _sp_MySp
@p1 int,
@p2 int,
@p3 int
AS
SELECT * FROM Table WHERE Col1 = @p1
RETURN @@ROWCOUNT

DECLARE @rc int
EXEC @rc = _sp_MySP 1, 2, 3
IF @rc = 0 PRINT 'Empty'
ELSE PRINT CONVERT(varchar, @rc)

关于SQL Server - 测试存储过程的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2943890/

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