1

Oracle の Web サイトにある 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
4

1 に答える 1

3

ドキュメントには次のようにも記載されています。

Oracle Database 12c 以降では、VARCHAR2、NVARCHAR2、および RAW データ型に 32767 バイトの最大サイズを指定できます。初期化パラメータ MAX_STRING_SIZE を次のように設定することで、データベースがこの新しい最大サイズをサポートするかどうかを制御できます。

  • MAX_STRING_SIZE = STANDARD の場合、Oracle Database 12c より前のリリースのサイズ制限が適用されます。VARCHAR2 および NVARCHAR2 データ型の場合は 4000 バイト、RAW データ型の場合は 2000 バイトです。これがデフォルトです。

  • MAX_STRING_SIZE = EXTENDED の場合、VARCHAR2、NVARCHAR2、および RAW データ型のサイズ制限は 32767 バイトです。

MAX_STRING_SIZEしたがって、これを機能させるには、初期化パラメーターを設定する必要があります。

(私はまだ 12c で遊ぶ機会がなかったので、この時点ではドキュメントに書かれていることをそのまま続けています)。

于 2013-07-10T10:58:44.460 に答える