Oracle里的自增字段设置

君子不器 2015年04月24日 数据库 4938次阅读 查看评论

大家都知道吧,这很坑,尤其是用惯了MySQL里的自增字段设置,结果Oracle里面没有的。oh,no

我用的是Oracle 12c版本的,它有一个新特性,可以这样设置自增序列,在创建表是,把id设置为自增序列

create table t

(

id   number generated by default as identity (start with 1 increment by 1),

name   varchar2(20),

password varchar2(20),

Constraint Pk_T Primary Key ( Id )

);

很忧桑的是同伴用的是11g的,那只能通过序列+触发器来实现了;

创建表

-create table t

(

id   number,

name   varchar2(20),

password varchar2(20),

Constraint Pk_T Primary Key ( Id )

);

CREATE SEQUENCE seq_t----------------/*序列名称*/

INCREMENT BY 1 ----------------/*自增1*/

START WITH 1 ----------------/*从1开始*/

NOMAXVALUE ----------------/*没有最大值*/

NOCYCLE

NOCACHE;

CREATE TRIGGER tri_t  BEFORE------------------/*创建触发器*/

INSERT ON t  FOR EACH ROW WHEN (new.id is null)

begin

select seq_t.nextval into: new.id from dual;

end;


« 上一篇 下一篇 » 君子不器原创文章,转载请注明出处! 标签:数据库Oracle

相关日志:

博主介绍
乌云蔽月,人迹踪绝,说不出如斯寂寞。
控制面板
您好,欢迎到访网站!
  [查看权限]
站点信息
  • 文章总数:1279
  • 页面总数:2
  • 分类总数:9
  • 标签总数:61
  • 评论总数:331
标签列表
友情链接