2009-05-29 5 views
7

SQL에서 저장 프로 시저의 varchar 값을 반환 할 수 있는지 알고 싶습니다. 대부분의 반환 값을 본 예제는 int입니다. 프로 시저 내에서저장 프로 시저가 varchar를 반환합니다

예 :

declare @ErrorMessage varchar(255) 

if @TestFlag = 0 
    set @ErrorMessage = 'Test' 

return @ErrorMessage 

답변

14

당신은 모든 데이터 형식을 반환하는 매개 변수 또는 resulset을 사용할 수 있습니다.
반환 값은 항상

CREATE PROCEDURE GetImmediateManager 
    @employeeID INT, 
    @managerName VARCHAR OUTPUT 
AS 
BEGIN 
    SELECT @managerName = ManagerName 
    FROM HumanResources.Employee 
    WHERE EmployeeID = @employeeID 
END 

저장 프로 시저의 리턴 코드는 항상 정수 here

7

당신은 그것을위한 저장 기능을 작성해야합니다 :

select dbo.GetLookupValue(4) 

마크

:

create function dbo.GetLookupValue(@value INT) 
returns varchar(100) 
as begin 
    declare @result varchar(100) 

    select 
    @result = somefield 
    from 
    yourtable 
    where 
    ID = @value; 

    return @result 
end 

당신은 다음과 같이이 저장 기능을 사용할 수 있습니다

관련 문제