Home  >  Article  >  Database  >  Oracle利用触发器实现自增列

Oracle利用触发器实现自增列

WBOY
WBOYOriginal
2016-06-07 16:07:591217browse

Oracle没有自增列功能,mysql 和 sqlserver 分别用auto_increment和identity(1,1)来实现自增。Oracle要实现只能通过序列实现,

Oracle利用触发器实现自增列

[日期:2015-02-10] 来源:Linux社区  作者:neweastsun [字体:]

Oracle没有自增列功能,,mysql 和 sqlserver 分别用auto_increment和identity(1,1)来实现自增。Oracle要实现只能通过序列实现,每次插入的时候通过取序列的值显示的给自增列,感觉有些不方便,这里使用触发器来代替,从而使插入的时候三者数据库在语法上一致,便于DAO代码的移植。下面是Oracle实现示例,步骤如下:

1、创建表

create tabletest_user(

  user_id  number(10,0) primary key,

  user_name varchar2(40)

);

2、创建序列

create sequence  test_user_seq start with 1 maxvalue 9999999999 increment by 1; 

3、创建触发器

create or replace

trigger  test_user_trigger     

before insert on  test_user     

for each row     

begin     

select test_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;

Oracle利用触发器实现自增列

本文永久更新链接地址:

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn