码迷,mamicode.com
首页 > 数据库 > 详细

解决存储过程中拼接的SQL字符串超长导致sql语句被截取的问题

时间:2014-10-15 18:05:51      阅读:398      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   ar   strong   sp   数据   2014   on   

bubuko.com,布布扣

今天遇到了一个奇葩的问题:存储过程中的sql字符串拼接的太长,超出了分页存储过程执行sql参数的nvarchar(4000)的长度。

没办法,只能修改自己的存储过程,因为分页存储过程是不能动的。

开始想到的方法是将里层的select语句抽出来,用exec(strInnerSql)执行,将查询胡来的数据放到临时表中,在@s中用临时表获取数据,结果以时报告终

错误原因:执行@s语句的时候找不到执行exec(strInnerSql)产生的临时表

好郁闷啊,怎么会这样呢,明明在一个存储过程中执行的,怎么临时表就获取不到呢??????????

折腾了半天,这样还是搞不定

无奈,只能将exec(strInnerSql)执行的那个sql抽出来,在代码中执行,让他产生临时表,然后再在存储过程中调用

bubuko.com,布布扣

惊奇,居然成功了!!!!!!!!

神啊,能告诉我为什么吗????????????????

第一种方法为什么不行,第二种方法就行了啊

 

哪位大神路过,一定要告诉我问什么!!!!!!!!!!!!!!

 

解决存储过程中拼接的SQL字符串超长导致sql语句被截取的问题

标签:style   blog   http   ar   strong   sp   数据   2014   on   

原文地址:http://www.cnblogs.com/stevenjson/p/4026598.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!