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
只是为了关闭循环...
这是调用函数并将这些结果放入表变量的语法
基于 @simons 解决方案的小型构建
它在 sql 2012 和 sql 2014 上运行。
[不要忘记关闭表语句。如果您将表格全部放在一行上,则很容易做到。 ]
declare @t table(field1 nvarchar(100) )
insert @t select * from dbo.Cool_1Field_Function( 'parm1' ,'parm2')
select * from @t
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)