一尘不染

执行@Var字符限制SQL Server 2008 R2

sql

我一直在寻找答案,但是没有明确的答案,因此希望有人知道。

EXECUTEVARCHAR(MAX)变量一起使用时,是否有字符数限制?我做了一些实验,似乎在加载变量然后调用时EXECUTE @var,对实际传递给服务器的内容有字符限制。当在EXECUTE没有变量的情况下调用而仅在其中构建字符串时,一切似乎都可以工作....是否有原因呢?返回的错误消息是:

名称’(在此处插入我的SQL语句变量的881个字符中的643个左右的字符)’不是有效的标识符

有人知道为什么会发生这种情况吗?EXECUTE @var失败,EXECUTE 'string'有效…


阅读 197

收藏
2021-03-08

共1个答案

一尘不染

我以为是:exec @mystr-假设字符串是一个过程名称,并且限制为8000个字节

exec(@mystr)-限制为2 GB。

2021-03-08