原创 sp_executesql和execute你也许不知道的收藏

新一篇: 赶紧的打补丁啊~~~ | 旧一篇: SQL中LEN ()与DATALENGTH ()

execute 对拼成的字符串SQL是有长度限制的,今天在开发中就遇到这种情况,由于长度过长总是被截取。导致报错!后决定改用sp_executesql。但是sp_executesql对参数类型有限制,我声明的类型为varchar(max),报错:Procedure expects parameter '@statement' of type 'ntext/nchar/nvarchar'。这句话很明显说明只支持以上类型。
建议您在执行字符串时,使用 sp_executesql 存储过程而不要使用 EXECUTE 语句。由于此存储过程支持参数替换,因此 sp_executesql 比 EXECUTE 的功能更多;由于 SQL Server 2005 更可能重用 sp_executesql 生成的执行计划,因此 sp_executesql 比 EXECUTE 更有效。
相关详细说明:使用 sp_executesql  使用 EXECUTE
 

发表于 @ 2007年08月29日 12:55:00|评论(loading...)|编辑

新一篇: 赶紧的打补丁啊~~~ | 旧一篇: SQL中LEN ()与DATALENGTH ()

评论:没有评论。

发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © 周兆成