2011-03-07 6 views
0

저장 프로 시저에 반환 값을 입력하는 방법. 그리고 그들 사이의 차이점은 무엇입니까? 설명해주세요.저장 프로 시저

+0

체크 아웃 http://sqlserverpedia.com/wiki/Stored_Procedures_-_Output_Parameters_%26_Return_Values ​​- 이것은 당신이 조금 더 무슨 뜻인지 설명해주십시오 – InSane

+0

예제 값을 반환하기위한 다양한 옵션을 나열, 메신저 확실하지 UR 정말 – Gent

+0

먼저 물어 무엇을 모두 : "store * D * procedures"- "SQL Server에 저장 됨"("저장 프로 시저"가 아님)과 같습니다. –

답변

4

일반적으로 저장 프로 시저를 사용하면 데이터 집합을 다시 가져올 것으로 예상됩니다. 어떤 유형의 쿼리에서 단일 값을 다시 얻는 방법을 찾고 있다면 UDF (사용자 정의 함수)를 만드는 것이 더 적합 할 수 있습니다. 다음

그럼에도 불구하고, 여기에서이 절차와 출력 변수

CREATE PROCEDURE dbo.GetNameByID (
    @ID NVARCHAR(50), 
    @PersonName NVARCHAR(50) OUTPUT) 
AS 
SELECT @PersonName = LastName 
FROM Person.Contact 
WHERE ID = @ID 

에 저장된 프로 시저를 만드는 방법이고, 그 다음으로 실행할 수있다.

DECLARE @Name NVARCHAR(50) 

EXEC dbo.GetNameByID 
    @ID = 'A123FB', 
    @PersonName = @Name OUTPUT 

SELECT Name = @Name 

행운을 빈다.