如何在函数中使用表参数

npkaida 2012-05-04 10:54:16
请教高手,如何在函数中使用表参数?

例如:

create funtion xxx(@tbName varchar(100))
returns nvarchar(100)
as
begin
declare @S nvarchar(100)
select @S=......
from @tbName --这行错误,必须是表变量,但我希望用一个表名, 应该怎么办?
return @S
end
...全文
79 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
guostong 2012-05-04
  • 打赏
  • 举报
回复
用 动态 sql
simonxt 2012-05-04
  • 打赏
  • 举报
回复
在函数里扩展sqlserver扩展功能的函数都不能用,还是用存储过程吧。
黄_瓜 2012-05-04
  • 打赏
  • 举报
回复
改用存储过程吧
孤独加百列 2012-05-04
  • 打赏
  • 举报
回复
用存储过程吧,用OUTPUT参数一样可以取到返回值,FUNCTION里面不允许使用动态语句的
天-笑 2012-05-04
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
SQL code


create funtion xxx(@tbName varchar(100))
returns nvarchar(100)
as
begin
declare @S nvarchar(100)
declare @sql varchar(max)
set @sql=''
set @sql='select '+@S+'=......
……
[/Quote]

函数是不支持 同态语句的
只能用存储过程
  • 打赏
  • 举报
回复

create funtion xxx(@tbName varchar(100))
returns nvarchar(100)
as
begin
declare @S nvarchar(100)
declare @sql varchar(max)
set @sql=''
set @sql='select '+@S+'=......
from '+@tbName
exec(@sql)
return @S
end


需要动态拼接
jyh070207 2012-05-04
  • 打赏
  • 举报
回复
改用存储过程中处理,带输入及输出参数的存储过程处理

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧