SQL Server (2000/2005) 函数获取表名和字段名作为参数,并从函数内的动态查询返回结果。结果应分配给Table
将在存储过程中进一步使用的变量。如何做到这一点?
我收到错误消息:“只能从函数中执行函数和扩展存储过程。”
Declare @Data as table (FieldValue varchar(100))
insert into @Data select * from MyFunction ('Person.Address','AddressID')
-- Function
Alter function MyFunction (
@TableName varchar(100), @FieldName varchar(100)
) returns @GetData table (
FieldValue varchar(100)
) as
begin
Declare @SQL varchar(250)
Set @SQL = 'Select '+@FieldName+ ' from '+ @TableName
Exec sp_executesql @SQL
return
end