这是我目前使用的存储过程的伪代码,
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(false)或1(true)。
如何直接返回值(例如bit
)而不必将其存储在临时输出参数中?
答案 0 :(得分:5)
在这种情况下,您可以使用存储过程的返回值。以下应该有效。
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