Oracle 12.1数据类型

时间:2013-07-10 10:51:39

标签: oracle plsql

根据Oracle's web site上的Oracle 12文档(1.1.6.4),您应该能够创建一个超过4000个字符的varchar2列。有没有人管这样做,因为我得到的是: -

Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit Production
With the Partitioning, OLAP, Advanced Analytics and Real Application Testing options

SQL> create table r1 ( c1 integer, c2 varchar2(32000));
create table r1 ( c1 integer, c2 varchar2(32000))
                                          *
ERROR at line 1:
ORA-00910: specified length too long for its datatype

1 个答案:

答案 0 :(得分:3)

documentation also states

  

从Oracle Database 12c开始,您可以指定最大大小   VARCHAR2,NVARCHAR2和RAW数据类型为32767个字节。您可以   控制您的数据库是否支持此新的最大大小   设置初始化参数MAX_STRING_SIZE如下:

     
      
  • 如果MAX_STRING_SIZE = STANDARD,那么Oracle Database 12c之前版本的大小限制适用:VARCHAR2的4000字节和   NVARCHAR2数据类型,以及RAW数据类型的2000字节。这是   默认。

  •   
  • 如果MAX_STRING_SIZE = EXTENDED,则VARCHAR2,NVARCHAR2和RAW数据类型的大小限制为32767字节。

  •   

因此,您需要设置MAX_STRING_SIZE initialisation parameter才能使其正常工作。

(我还没有机会玩12c,所以我现在就开始讨论文档所说的内容了。)