今天在看12c的administrator 文档,按照上面的语句,创建表的时候出错。提示ORA-00910
C##BB@win12c>CREATE TABLE admin_emp (
2 empno NUMBER(5) PRIMARY KEY,
3 ename VARCHAR2(15) NOT NULL,
4 ssn NUMBER(9) ENCRYPT USING 'AES256',
5 job VARCHAR2(10),
6 mgr NUMBER(5),
7 hiredate DATE DEFAULT (sysdate),
8 photo BLOB,
9 sal NUMBER(7,2),
10 hrly_rate NUMBER(7,2) GENERATED ALWAYS AS (sal/2080),
11 comm NUMBER(7,2),
12 deptno NUMBER(3) NOT NULL
13 CONSTRAINT admin_dept_fkey REFERENCES hr.departments
14 (department_id),
15 comments VARCHAR2(32767),
16 status VARCHAR2(10) INVISIBLE)
17 TABLESPACE users
18 STORAGE ( INITIAL 50K);
comments VARCHAR2(32767),
*
第 15 行出现错误:
ORA-00910: 指定的长度对于数据类型而言过长
仔细看了下文档,文档上说varchar2等从12c开始,最大长度是32767bytes,而且这里有一个参数max_string_size限制,改参数默认值是4000,最大是32767.
如果想修改改值,需要参考Oracle的文档进行修改,而不是仅仅修改这个参数。
具体的参考文档如下:
https://docs.oracle.com/database/121/REFRN/GUID-D424D23B-0933-425F-BC69-9C0E6724693C.htm#REFRN10321
END