动态SQL字符长度超过8000

动态SQL字符长度超过8000,我记得SQL SERVER 2008中用SP_EXECUTESQL打破了这个限制。

平常用动态SQL,可能都会用EXEC(),但是有限制,就是8000字符串长度。自从SQL SERVER 2005起,在 INSIDE SQLSERVER 2005 T-SQL PROGRAMMING中提到,使用SP_EXECUTESQL()和NVARCHAR(MAX)可以超越8000个字符的限制。因为 SP_EXECUTESQL()必须使用NVARCHAR,NCHAR,NTEXT作为参数,所以SP_EXECUTESQL()的最长字符限制就是 4000。

我们看一个NVARCHAR(4000)的例子:

如何打破这个限制,我们再看(将SQL字符变量类型设置为NVARCHAR(MAX)):

可以看到,成功执行了SQL字符长度为9999的动态SQL。。

看一个SQL字符超过100000的例子:

字符串长度巨大,我只能将结果保存到RPT文件,可惜的是,我的机器(2.5内存+32位WIN2003)还是不能显示,肯定是资源不够用

时间: 2024-10-15 21:26:14

动态SQL字符长度超过8000的相关文章

针对字符串长度超过8000的处理

if (exists (select * from sys.objects where name = 'up_test')) drop proc up_testgoCreate PROC [dbo].[up_test]asdeclare @SQL nvarchar(max), @SQL1 nvarchar(4000), @SQL2 nvarchar(4000), @SQL3 nvarchar(4000), @SQL4 nvarchar(4000);set @SQL1 = N'SQl语句1' ; 

SQL --字符长度

用的数据库是mysql,汉字在数据库存放如下,汉字格式是utf-8 用如下语句查询company各个内容的长度 SELECT LENGTH(t_person.COMPANY) FROM t_person 测试结果如下 由此可见,一个汉字占用3个字节.

textarea取设值及动态求字符长度问题

1. onchange事件,当焦点离开textarea时才会触发.而onkeyup只要打字就可以触发.如下为动态显示textarea内文字长度的示例: 1 .attr("name", "textarea").attr("id", "chapContent").html(chapContent)).attr("onchange","ChangeButtonClass()") 2 .attr

截取中文字符长度(中文、字母都有效)

以下给大家分享下:"中文字符长度,和截取中文字符(字母汉字通用)" 样例:先算出字符的长度,在截取显示,日过字符长度超过6就用...取代 echo '<meta http-equiv="content-type" content="text/html;charset=utf-8"/>'; $CustomizedInfo = '美日汇购物返利网http://www.hnzyxok.com/'; if(mb_strlen($Customi

sql server 存储过程 拼接SQL 超过8000

问题描述: 公司需要做一个报表,根据人员组织树,点击某一节点的时候,显示下一个直接子节点的表单申请情况,根据表单状态进行分组. 实现思路: 一开始是想通过拼接SELECT SQL,将所有子节点的报表情况union,然后所谓存储过程的结果返回.调试过程中发现,拼接出来的SQL太长,在拼接过程中自动被截断了. 解决思路: 分别执行原本打算拼接的SELECT 语句,将每个结果一次插入一个临时表,最后将所有临时表的数据作为存储过程的结果返回. sql server 存储过程 拼接SQL 超过8000

android的logcat的message有字符长度的限制,超过将直接截断

今天想在logcat中输出足够多的调试信息时,发现从logcat中返回的信息中明显少了后面一节; 觉得有点奇怪,以为是代码上问题,找了一下,发现不是; 于是guge一下.原来logcat在实现上对于message的内存分配大概是4k左右.所以超过的内容都直接被丢弃; 不输出; 同时发现logcat对于"\n"换行符会自动当成是自动分隔成多条log输出的标志,但是,你Log.d(null,"有多个\n的超过4k长度的字符"); 这样的信息,虽然会有多少个\n就产生多少

动态sql语句基本语法--Exec与Exec sp_executesql 的区别

http://www.cnblogs.com/goody9807/archive/2010/10/19/1855697.html 动态sql语句基本语法 1   :普通SQL语句可以用Exec执行   eg:       Select   *   from   tableName Exec( 'select   *   from   tableName ') Exec   sp_executesql   N 'select   *   from   tableName '         --

动态SQL语句:定义(一)

文章系列 动态SQL语句:定义(一) 静态SQL与动态SQL 静态SQL:程序运行前,具有固定的形式和结构的SQL. 动态SQL:程序运行时,能够动态改变形式或结构的SQL. 一些思考和想法 在实际的项目中,很多时候无法简单地用一条静态的SQL语句实现复杂的业务逻辑,往往需要通过程序语言动态地生成SQL语句.然而,在代码中通过条件判断语句拼接产生SQL语句,存在诸多缺点,简单列举如下: 代码杂乱和重复,编码的工作量大,而且容易产生错误. 拼接SQL语句的过程中,容易引起SQL注入. 代码与SQL

如何根据动态SQL代码自动生成DTO

当前的状况 一般做数据库相关开发, 除非学习, 否则很少有人愿意直接使用JDBC.本来Java代码就比较啰嗦了,而直接用JDBC写代码之啰嗦简直有些令人发狂!所以在实际开发过程中,我们通常都会使用一些框架/库来帮助我们操作数据库.而且开源市场上的选择也比较多,就我个人接触到的有:Hibernate,MyBatis,JdbcTemplate,DbUtils,ActiveRecord,JavaLite等等. 这些框架都能大幅的提高开发效率,对于一些基本CRUD操作来说,虽然各有差异,但总的来说基本是