五二脚本 手机端 m.52jb.net
特色栏目:PHP教程JavaScript正则表达式焦点幻灯片
页面导航:首页 > 数据库 > Oracle > 正文内容

oracle创建自增长表的方法

来源:五二脚本发布时间:08-31浏览:451 次
我们经常在设计数据库的时候用一个系统自动分配的ID来作为我们的主键,但是在Oracle没有自增主键的设置,我们可以通过这篇文章介绍的方法实现,有需要的朋友们可以参考借鉴,下面来一起看看吧。

前言

本篇文章给大家主要介绍的是在oracle中如果创建自增长表的方法,这里要用到序列。

示例代码

create table tb_student
(
  id         NUMBER(10)      not null,
  createtime     DATE         not null,
  constraint PK_tb_student primary key (id)
);

comment on table "tb_student" is
'学生表';

comment on column "tb_student"."id" is
'主键id';

comment on column "tb_student"."createtime" is
'创建时间';

--创建序列
create sequence seq_tb_student
minvalue 1
nomaxvalue
start with 1
increment by 1
nocycle  --一直累加,不循环
nocache; 

--创建触发器,如果insert语句不指定ID自动插入增长值
CREATE OR REPLACE TRIGGER tr_tb_student 
BEFORE INSERT ON tb_student FOR EACH ROW WHEN (new.id is null)
begin
select seq_tb_student.nextval into:new.id from dual;
end;

注意:触发器是非必须的,可以从业务上严格要求指定插入值。

注意oracle限制对象名的字符长度不能超过30个字符,所以表名要控制在一定的长度否则后面创建序列可能会超过限制,建议表名控制在27个字符以下。

总结

以上就是oracle创建自增长表的方法,希望本文的内容对大家的学习或者使用Oracle带来一定的帮助。

关于我们 - 联系我们 - 广告合作 - 网站地图 - 网站声明

QQ群:153638182  投稿邮箱: 578640261@qq.com  皖ICP备-14005058

严禁网站镜像,否则追究法律责任。未经www.52jb.net 同意,不得转载本网站上所有的源代码。

五二脚本每日更新大量关于网页制作网页特效php编程网站优化源码下载的实例教程。