为什么 SQL rowcount 没有在我的存储过程输出参数中返回?
Why is SQL rowcount not returning in my stored procedure output parameter?
我有一个伪代码如下的存储过程:
ALTER PROCEDURE myProcedure(@param1 int, @param2 int, @returnCode int output)
AS
BEGIN
SELECT .... -- my query here
SET @returnCode = @@ROWCOUNT
END
但是,当我执行此存储过程时,@returnCode 为 NULL:
DECLARE @returnCode INT
EXEC myProcedure 1, 1, @returnCode
SELECT @returnCode
Returns 空。
但是,如果我只是在 proc 中执行 select 而不是设置 return 代码 - SELECT @@ROWCOUNT
- 我会得到正确的行数。
我怎样才能 return 这行在输出参数中计数?
执行程序时附加OUTPUT
关键字:
DECLARE @returnCode INT
EXEC myProcedure 1, 1, @returnCode OUTPUT
SELECT @returnCode
你错过了输出参数。
CREATE PROCEDURE myProcedure(@param1 int, @param2 int, @returnCode int output)
AS
BEGIN
SELECT 1
UNION
SELECT 2;
SET @returnCode = @@ROWCOUNT
END
DECLARE @returnCode INT
EXEC myProcedure 1, 1, @returnCode OUTPUT
SELECT @returnCode
我有一个伪代码如下的存储过程:
ALTER PROCEDURE myProcedure(@param1 int, @param2 int, @returnCode int output)
AS
BEGIN
SELECT .... -- my query here
SET @returnCode = @@ROWCOUNT
END
但是,当我执行此存储过程时,@returnCode 为 NULL:
DECLARE @returnCode INT
EXEC myProcedure 1, 1, @returnCode
SELECT @returnCode
Returns 空。
但是,如果我只是在 proc 中执行 select 而不是设置 return 代码 - SELECT @@ROWCOUNT
- 我会得到正确的行数。
我怎样才能 return 这行在输出参数中计数?
执行程序时附加OUTPUT
关键字:
DECLARE @returnCode INT
EXEC myProcedure 1, 1, @returnCode OUTPUT
SELECT @returnCode
你错过了输出参数。
CREATE PROCEDURE myProcedure(@param1 int, @param2 int, @returnCode int output)
AS
BEGIN
SELECT 1
UNION
SELECT 2;
SET @returnCode = @@ROWCOUNT
END
DECLARE @returnCode INT
EXEC myProcedure 1, 1, @returnCode OUTPUT
SELECT @returnCode