2

これが、現在使用しているストアドプロシージャの疑似コードです。

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一時的な出力パラメータに保存せずに、値(たとえば)を直接返すにはどうすればよいですか?

4

1 に答える 1

6

このような場合、ストアドプロシージャからの戻り値を使用できます。以下が機能するはずです。

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
于 2012-07-31T15:29:58.630 に答える