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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐