1。先sqlplus登录了:
SQL> conn scott/tiger;
2。建表:
drop table users ;
create table users(
id number(6),
name varchar2(30),
constraint pk_id primary key(id)
);
3。建序列:
create sequence aq1
start with 1
increment by 1
minvalue 1
maxvalue 9999999
nocycle
nocache
noorder;
/或者
drop sequence sq1;
create sequence sq1;
4。建触发器:
create or replace triggerpn_trigger
before insert on users
for each row
begin
select sq1.nextval into:new.id from sys.dual;
end;
5。好了,insert一条记录测试一下喽。。。。
insert into users( name) values('zhsan');
select * from users;
========================================================
简单的方法:
比如CREATE SEQUENCE s_test start with 1 increment by 1; --就是建立了额一个从1开始每次加1的序列。
访问序列时,用 序列名称.nextval的语法。
比如对于上表,如果想要id字段实现自增。则在每次插入记录时,使用下面类似的语法(前提是表和序列已经建好)。
insert into test values (s_test.nextval,'张三');