将表t_uaer的字段ID设置为自增:(用序列sequence的方法来实现)
----创建表
Create table t_user(
id number(6),
userid varchar2(20),
loginpassword varchar2(20),
isdisable number(6) );
----创建序列
create sequence user_seq
minvalue 1 --最小值
nomaxvalue --不设置最大值
start with 1 --从1开始计数
increment by 1 --每次加1个
nocycle --一直累加,不循环
nocache; --不建缓冲区
----创建触发器
create or replace trigger tr_user
before insert on t_user
for each row
when(new.id is null)-- 如果没有对when(new.id is null)的判断,则不管有没有指定id都会被替换为序列的值。
begin
select user_seq.nextval into :new.id from dual;
end;
----测试
insert into t_user(userid,loginpassword, isdisable) values('ffll','liudddyujj', 0);
insert into t_user(userid,loginpassword, isdisable) values('dddd','zhang', 0) ;
select * from t_user;
就可以看出结果。