varchar2的长度,最大可以多大

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xxzhaobb/article/details/82020111

今天在看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

猜你喜欢

转载自blog.csdn.net/xxzhaobb/article/details/82020111
今日推荐