exec 和 SP_EXECUTESQL 有什么区别??????

tamade1234 2004-11-20 07:36:57
create proc test
as
exec (select * from tbl)
exec SP_EXECUTESQL
"select * from tbl"

有什么区别呢???
最好能说详细点,谢谢~~~~~
...全文
167 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
david4 2004-11-20
  • 打赏
  • 举报
回复
另外,sp_executesql 适合执行经常被使用的语句,特别在存储过程中
因为它使用prepare技术
mgsray 2004-11-20
  • 打赏
  • 举报
回复
exec ('select * from tb')
exec SP_EXECUTESQL
N'select * from tb'
这两个没有区别,只是sp_executesql要求传递的语句是nvarchar,所以必须要N'select...'
另外sp_executesql可以往语句里面传递参数,也可以从语句里面给变量赋值
declare @count int ,@id int
set @id=10
exec SP_EXECUTESQL N'select @count=count(1) from tb where id>@id', N'@count int out, @id int', @count,@id

34,587

社区成员

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

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