这是我当前使用的存储过程的伪代码,
CREATE PROC uspFoo ( @id int, @type nvarchar(255), @status bit output ) AS IF .... SET @status=1 ELSE SET @status=0 GO
执行此存储过程时,我被迫传递一个输出参数,该参数将存储其返回值,
DECLARE @id int, @type nvarchar(255), @status bit SET @id=.. SET @type=.. EXEC uspFoo @id, @assayType, @status output PRINT @status GO
返回值,或者在这种情况下status,将为0(假)或1(真)。
status
如何bit直接返回值(例如)而不必将其存储在临时输出参数中?
bit
在这种情况下,您可以使用存储过程的返回值。以下应该工作。
CREATE PROC uspFoo ( @id int, @type nvarchar(255) ) AS IF .... RETURN 1 ELSE RETURN 0 GO
致电:
DECLARE @id int, @type nvarchar(255), @status bit SET @id=.. SET @type=.. EXEC @status=uspFoo @id, @assayType PRINT @status