sp_executeSQL 和超过 2000 个字符的语句
我正在使用动态 SQL,并且需要执行一个长 SQL 查询,首先我将查询声明为 @var nvarchar(4000),但我的查询长度超过 4000 个字符。 我尝试更改为 nvarchar(8000) 但引发不能超过 4000 个字符的异常。
最后我将 var 声明为 varchar(8000) 并且没有发生错误,但是当我要执行 sp_executeSQL 时 引发 sp_executeSQL 需要 ntext/nchar/nvarchar 的错误。
如何使用 sp_executeSQL 执行更长的 Sql 查询? 谢谢!
我正在使用 Sql Server Express 2005。
I'm using dynamic SQL and I need to exec a long SQL query, First I declare @var with query as nvarchar(4000), but my query is longer than 4000 chars.
I try to change to nvarchar(8000) but raise an Exception that can't be longer than 4000 chars.
Finally I declare var as varchar(8000) and no error ocurrs , but when I going to exe sp_executeSQL
raise and error that sp_executeSQL expect a ntext/nchar/nvarchar.
How I can exec a longer Sql Query with sp_executeSQL ?
Thnks!
I'm using Sql Server Express 2005.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
在 2005 年,您可以使用
declare @var nvarchar(max)
最多 10 亿个字符。您会发现使用
PRINT
语句无法查看很长字符串的变量内容,因此您可以执行以下操作来查看未截断的内容。
As you are on 2005 you can use
declare @var nvarchar(max)
for up to 1 billion characters.You will find using
PRINT
statements doesn't work to view the variable contents for very long strings so you can doTo see the untruncated contents.