前者好一些。因为它会保留执行计划,反复调用时效率会高些。功能上也会比后者多些。
解决方案 »
- 求解一条sql语句
- 怎样生成这样的汇总?
- 请问一下,如果我的一个存储过程里面有对一个表进行插入和查询两种操作,同时有多个用户调用这个存储过程,是否会产生死锁呢?
- 求大神。。。sqlserver 中的CDC可以对链接数据库进行操作么?
- 怎样写sql语句看到某个表中每一行的最后更新时间?
- 用来建库的,在——————行上有问题。请多多指教!
- 急!急!急!为什么我在win2000专业版上安装sql(个人版与开发版均如此)时提示安装程序配置服务器失败???
- 请问如何写代码把一个字段设为自动增量
- sql agent中的作业问题?
- 怎样精通MSSQLSERVER?
- 数据表已经有一些数据了,现在对某一个字段建立索引还行吗?通过索引而得出的排列在哪里可以看得到呢?
- 请lxqlogo0(群子)来领分,你无意中解决了我的问题,帖内有领分地址。
参见SQL联机帮助:
在批处理、名称作用域和数据库上下文方面,sp_executesql 与 EXECUTE 的行为相同。sp_executesql stmt 参数中的 Transact-SQL 语句或批处理在执行 sp_executesql 语句时才编译。然后编译 stmt 中的内容并作为执行计划运行(独立于名为 sp_executesql 的批处理的执行计划)。sp_executesql 批处理不能引用调用 sp_executesql 的批处理中声明的变量。sp_executesql 批处理中的本地游标和变量对调用 sp_executesql 的批处理是不可见的。对数据库上下文所作的更改只在 sp_executesql 语句结束前有效。如果只更改了语句中的参数值,则 sp_executesql 可用来代替存储过程多次执行 Transact-SQL 语句。因为 Transact-SQL 语句本身保持不变仅参数值变化,所以 Microsoft® SQL Server™ 查询优化器可能重复使用首次执行时所生成的执行计划