提示在函数里不正确的使用了EXEC?

j99616 2004-01-15 08:43:38
declare @string nvarchar(1000)
set @string='select Name from Users where ID in ('+@Addressee+')'
exec(@string)


我在自定义函数里使用了EXEC,提示在函数里不正确的使用了EXEC?请问错在哪里了
...全文
77 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
j9988 2004-01-15
  • 打赏
  • 举报
回复
你函数内的语句这样改,就不要用动态SQL了.
这样就可以使用自定义函数.

create function(@Addressee varchar(100))
returns table
as
return(select Name from Users where ','+@Addressee+',' like '%,'+rtrim(ID)+',%')
j99616 2004-01-15
  • 打赏
  • 举报
回复
up
txlicenhe 2004-01-15
  • 打赏
  • 举报
回复
那没有办法了。
j99616 2004-01-15
  • 打赏
  • 举报
回复
我是想在一条SELECT上运用自定义函数,改成存储过程怎么用,能直接用在SELECT语句上吗
gmlxf 2004-01-15
  • 打赏
  • 举报
回复
修改成 executesql 就可以了。
gmlxf 2004-01-15
  • 打赏
  • 举报
回复
declare @string nvarchar(1000)
set @string='select Name from Users where ID in ('+@Addressee+')'
exec executesql @string
j9988 2004-01-15
  • 打赏
  • 举报
回复
只有函数和系统存储过程才行.
所以EXEC不行.
改成存储过程吧.
j9988 2004-01-15
  • 打赏
  • 举报
回复
只有函数和系统存储过程才行.
所以EXEC不行.
改成存储过程吧.
shooter1 2004-01-15
  • 打赏
  • 举报
回复
自定义函数有很多限制

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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