存储过程返回varchar
问题描述:
我想知道如果在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
答
您需要创建一个存储功能:
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)
马克