相关疑难解决方法(0)

将函数结果分配给表变量

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
Run Code Online (Sandbox Code Playgroud)

sql stored-procedures dynamic-queries

2
推荐指数
1
解决办法
1万
查看次数

标签 统计

dynamic-queries ×1

sql ×1

stored-procedures ×1