varchar2的长度,最大可以多大

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

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值