2009-05-29 17 views
7

देता है मैं जानना चाहता हूं कि एसक्यूएल में संग्रहीत प्रक्रिया से varchar मान वापस करना संभव है, उदाहरण के अधिकांश उदाहरणों में मैंने वापसी मूल्य देखा है। एक प्रक्रिया के भीतरसंग्रहीत प्रक्रिया 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

5

लिया एक संग्रहीत प्रक्रिया की वापसी कोड हमेशा पूर्णांक है, लेकिन आप OUTPUT पैरामीटर है कि किसी भी इच्छित प्रकार हैं हो सकता है - http://msdn.microsoft.com/en-us/library/aa174792.aspx देखते हैं।

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 

फिर आप इस तरह इस संग्रहीत समारोह का उपयोग कर सकते

संबंधित मुद्दे