我应该使用哪种数据类型,以便在oracle数据库表上创建一个支持10500个字符的列?



我需要创建一个语句来创建一个特定的表,其中一列支持10500个字符。它应该看起来像这样:

CREATE TABLE Example1column_one VARCHAR2(2) NOT NULL,column_three VARCHAR2(11) NOT NULL,column_4 VARCHAR2(13) NOT NULL,
column_5 VARCHAR2(1) NULL,
column_6 VARCHAR2(40) NULL,column_7 VARCHAR2(4000) NULL,column_8 VARCHAR2(10500) NULL, <-----------这是有问题的列

问题是当声明column_8时,varchar2不支持这么多字符,日志显示:

ORA-00910: longitude specispeciada demasiado large para este tipo de data00910. 00000 -"指定的长度对于其数据类型来说太长了";*原因:对于CHAR和RAW数据类型,指定的长度为>2000;否则,指定的长度为>4000.*动作:使用更短的长度或切换到允许a的数据类型更长的长度,如VARCHAR2、LONG CHAR或LONG RAW

但它不起作用。提前谢谢。

这个参数在12c中被引入:

Oracle使用MAX_STRING_SIZE参数来控制最大大小。如果MAX_STRING_SIZE为STANDARD,则VARCHAR2是4000字节。在MAX_STRING_SIZE被扩展的情况下VARCHAR2的大小限制是32767.

请阅读Oracle文档以了解设置此参数的含义。

或者,CLOB类型是存储大字符串的一个选项。

希望有帮助。

最新更新