Oracle 自动增长列

1、建用户数据表
drop table dectuser;

create table dectuser(
userid integer primary key, /*主键*/
name varchar2(20),
sex varchar2(2)
);

2、创建自动增长序列
drop sequence seq_dectuser;
create sequence seq_dectuser minvalue 1 maxvalue 99999999
increment by 1
start with 1; /*步长为1*/

3、创建触发器
create or replace trigger tri_dectuser
before insert on dectuser /*触发条件:当向表dectuser执行插入操作时触发此触发器*/
for each row /*对每一行都检测是否触发*/
begin /*触发器开始*/
select seq_dectuser.nextval into :new.userid from dual; /*触发器主题内容,即触发后执行的动作,在此是取得序列dectuser_tb_seq的下一个值插入到表dectuser中的userid字段中*/
end;

4、提交
现在就完成了自增主键的设定,搞定!可以检测一下。
insert into dectuser(name,sex) values ('feng','男');
commit; /*提交*/
提示"已创建一行",表示成功。

posted @ 2013-05-16 15:41  天秤水  阅读(294)  评论(0编辑  收藏  举报