我需要创建一个语句来创建一个特定的表,其中一列支持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类型是存储大字符串的一个选项。
希望有帮助。