首页>>数据库>>Oracle基于触发器实现主键ID自增长
Oracle基于触发器实现主键ID自增长
来源: 易习特达网 www.easytd.com 时间: 2015-01-31 17:13:46

mysql 和 sqlserver 分别用auto_increment和identity(1,1)来实现自增。然而oracle没有自增功能,必须借助于create sequence来进行主键id的自增长,用起来多少有些不方便,这里使用触发器来代替,从而使插入的时候和其他数据库在语法上至少是一致的

下面具体的oracle自增长创建过程,步骤如下:

1、创建表

create tabletest_user(

  user_id   number(10,0) primary key,

  user_name varchar2(40)

);

2、创建序列

create sequencetest_user_seq start with 1 maxvalue 9999999999 increment by 1;

3、创建触发器

create or replace

triggertest_user_trigger

before insert ontest_user

for each row

begin

selecttest_user_seq.nextval into :new.user_id from dual;

end ;

4、插入数据

insert intotest_user(user_name) values('tom');

insert intotest_user(user_name) values('jack');

5、测试结果

select * from test_user;

通过这样,当用户插入一条数据的时候,不用每次插入主键id,自然而然的就通过触发器自动产生了。方便了程序员的手工写创建序列的代码了

本页地址:http://www.easytd.com/shujuku/d_15013117233.html

上一篇:Oracle日期 函数的插入之使用探究 下一篇:MySQL完全备份,增量备份,恢复的操作方法