oracle建表报错:ORA-02000:missing ALWAYS keyword

同事给了个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

猜你喜欢

转载自blog.csdn.net/u014285237/article/details/128674668