读书人

请问一个sqlserver2005的函数返回表值

发布时间: 2012-01-16 23:36:51 作者: rapoo

请教一个sqlserver2005的函数返回表值的问题
create function get_name(@id int)
returns varchar(1000)
as
begin
declare @str varchar(1000)
set @str= ' '
select @str=GivenName+ ', '+FamilyName from Patients where PatientNum=@id
return @str
end

这是返回一个值,如果我想返回GivenName和FamilyName 两列又该如何写呢?
实在太菜,作业说要用inline table valued 函数

比如通过这样select * from get_name (9) order by id 得到第9行的记录,多谢啊


[解决办法]
CREATE FUNCTION get_names (@id int)
RETURNS TABLE
AS
RETURN
(
SELECT GivenName,FamilyName from Patients where PatientNum=@id
);
GO
select * from dbo.get_names(1001)

读书人网 >SQL Server

热点推荐