我一直在寻找这个问题的答案,但没有什么是明确的,所以希望有人知道他们的头脑。
当使用带有 VARCHAR(MAX)
变量的 EXECUTE
时,是否有字符限制?我做了一些实验,似乎当加载一个变量然后调用 EXECUTE @var
时,实际传递给服务器的内容有一个字符限制。当在没有变量的情况下调用 EXECUTE
并在那里构建字符串时,一切似乎都正常工作....有这个原因吗?返回的错误信息是:
The Name ' (insert around 643 out of 881 characters of my SQL statement variable here) ' is not a valid identifier
有人知道为什么会发生这种情况吗? EXECUTE @var
失败,EXECUTE 'string'
有效...
最佳答案
我认为是: 执行@mystr --假设字符串是一个过程名并且限制为8000字节
执行 (@mystr) -- 有 2 GB 的限制。
关于sql - EXECUTE @Var 字符限制 SQL Server 2008 R2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13567448/