1、创建一个用户表t_sys_user,其中有id,login_name,login_pwd三个字段,ID为自动增长列:
create table t_sys_user
(
id number(6) not null primary key,
login_name varchar2(50) not null,
login_pwd varchar2(50) not null
);
2、创建序列:
create sequence seq_user
increment by 1--指定序列号之间的间隔,该值可为正的或负的整数,但不可为0。序列为升序。忽略该子句时,缺省值为1。
start with 1--指定生成的第一个序列号。在升序时,序列可从比最小值大的值开始,缺省值为序列的最小值。对于降序,序列可由比最大值小的值开始,缺省值为序列的最大值。
maxvalue 9999--指定序列可生成的最大值。
cycle nocache--一直累加,不循环
3、创建触发器:
create or replace trigger tri_user
before insert on t_sys_user for each row
begin
select seq_user.nextval into:new.id from dual; --这里是最容易出错的地方
end;
/
4、测试:
insert into t_sys_user (login_name,login_pwd) values ('zhanggc','123456');
5、更改序列:
create sequence seq_user
increment by 1
start with 1
maxvalue 9999
cycle nocache
分享到:
2011-03-10 12:04
浏览 5075
分类:数据库
评论