同事给了个oracle脚本建表;id自增用的如下:
create table ***(
"id" number (20,0) generated by default on null as identity,
****
)
执行后报错ORA-02000:missing ALWAYS keyword
查看本地数据库版本:发现是oracle 11G,只能使用触发器方式或自增时填 序列.nextval占位.在ORACLE 12C以前的版本中,如果要实现列自增长,需要通过序列+触发器实现,到了12C ORACLE 引进了Identity Columns新特性,从而实现了列自增长功能。
select banner from v$version where rownum =1
12C前自增例子,可查看这篇文章:Oracle实现主键字段自增_oracle自增主键_睡竹的博客-CSDN博客
废弃........................了
创建测试表
---创建测试表create table departments (
id number(11) DEFAULT dept_seq.nextval, --"dept_seq"为自增序列名称
description varchar2 (50) NOT NULL);--添加主键ALTER TABLE departments ADD (CONSTRAINT dept_pk PRIMARY KEY (ID));
创建序列
--创建序列create sequence dept_seq;
等同于create sequence dept_seq minvalue 1 maxvalue 9999999999999999999999999999 increment by 1 start with 1 cache 20 noorder nocycle nopartition