2012-07-31 4 views
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 (거짓) 것 또는 1 (참).

임시 출력 매개 변수에 값을 저장하지 않고도 값 (예 : bit)을 직접 반환 할 수 있습니까?

+0

당신은 http://msdn.microsoft.com/en-us/library/aa175085%28v=sql.80% ([스칼라 사용자 정의 함수]를 고려해 볼 수 있습니다 29.aspx). 저장 프로 시저와 달리 쿼리에서 호출 할 수 있습니다. –

답변

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 
관련 문제