gpt4 book ai didi

sql-server - 在存储过程中用作局部变量的最大数据类型是什么?

转载 作者:行者123 更新时间:2023-12-02 17:41:47 25 4
gpt4 key购买 nike

我有下一个问题:

--DECLARE @TEST NVARCHAR(MAX)
--DECLARE @TEST2 NVARCHAR(MAX)

DECLARE @TEST NTEXT
DECLARE @TEST2 NTEXT

对于执行存储过程时需要放入的文本量来说,NVARCHAR(MAX) 太小了,而且,TEXT、NTEXT 和 IMAGE 数据类型对于局部变量无效,我该怎么做才能避免这个问题并存储像这样的超大文本。

提前致谢

最佳答案

NVARCHAR(MAX) is to small for the amount of text in need to put when executing a stored procedure

好吧,坏消息:这是最大的可用数据类型! 2GB 存储空间,没有什么可以容纳比这更多的存储空间了。事实上,所有大型类型都具有相同的大小:VARCHAR(MAX)、NVARCHAR(MAX)、VARBINARY(MAX):它们的最大大小均为 2GB(附带说明,已弃用的旧类型具有完全相同的最大大小)。只有 FILESTREAM 可以超过此大小,但您不能将变量声明为 FILESTREAM。

所以这确实引出了一个问题:你到底在存储过程中做什么来在变量中添加 +2GB 的数据?您不可能对此有正当理由,因此您应该重新考虑您的方法。使用磁盘,卢克,而不是内存!考虑一个@table变量或一个#temp表...

关于sql-server - 在存储过程中用作局部变量的最大数据类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13136395/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com