我想知道如果在SQL中是否有可能從存儲過程返回varchar
值,我已經看到大多數例子的返回值是一個int。在過程中存儲過程返回varchar
實施例:
declare @ErrorMessage varchar(255)
if @TestFlag = 0
set @ErrorMessage = 'Test'
return @ErrorMessage
我想知道如果在SQL中是否有可能從存儲過程返回varchar
值,我已經看到大多數例子的返回值是一個int。在過程中存儲過程返回varchar
實施例:
declare @ErrorMessage varchar(255)
if @TestFlag = 0
set @ErrorMessage = 'Test'
return @ErrorMessage
可以使用出參數或resulset返回任何數據類型。
返回值應該總是整數
CREATE PROCEDURE GetImmediateManager
@employeeID INT,
@managerName VARCHAR OUTPUT
AS
BEGIN
SELECT @managerName = ManagerName
FROM HumanResources.Employee
WHERE EmployeeID = @employeeID
END
從here
採取了存儲過程的返回代碼始終是整數,但你可以有OUTPUT
參數是任何所需類型的 - 見http://msdn.microsoft.com/en-us/library/aa174792.aspx。
您需要創建一個存儲功能:
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
然後可以使用這樣這個存儲功能:
select dbo.GetLookupValue(4)
馬克