動態SQL字符長度超過8000


動態SQL字符長度超過8000,我記得SQL SERVER 2005中用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)還是不能顯示,肯定是資源不夠用

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM