Oracle VARCHAR限制作为过程输出参数

gio*_*shc 2 java oracle stored-procedures

我有一个在Oracle 11g下编写的存储过程,我的一个out参数是一个字符串(即类型VARCHAR).

我使用此参数返回由分隔的数字的连接列表;.此列表可以是任何大小,我不提前知道大小.

我的问题是,它VARCHAR是否足够或是否有尺寸限制(这当然会给我带来麻烦).如果不是,我应该在这种情况下使用什么?

谢谢

cag*_*boy 7

PL/SQL中的VARCHAR2可能包含32,767个字符.(请注意,这与数据库中的VARCHAR2列不同,后者的最大长度为4,000个字符)

另外,你在上面说过你正在使用VARCHAR.Oracle建议您使用VARCHAR2,而不是VARCHAR.

  • 请注意,限制为4000或32767*字节*而不是字符.如果使用多字节字符编码方案,差异很重要. (4认同)

jar*_*bjo 6

为什么不使用类似数组的合适数据类型而不是尝试在字符串中编码复杂结构?