mysql实现自增很简单,在主键处加上auto_increment关键字就可以了,而oracle实现起来并不是这么容易的,需要借助序列和触发器才能实现。
具体代码如下:
1.建立一个表:
create table 户口本 (
户号 INTEGER not null,
户别 CHAR(20) not null,
户主姓名 CHAR(20) not null,
住址 CHAR(200) not null,
承办人 CHAR(20) not null,
日期 DATE not null,
constraint PK_户口本 primary key (户号)
);
2.建立一个sequence序列:
CREATE SEQUENCE book_Sequence
INCREMENT BY 1 -- 每次加几个
START WITH 1 -- 从1开始计数
NOMAXVALUE -- 不设置最大值
NOCYCLE ; -- 一直累加,不循环
3.建立一个触发器:
CREATE TRIGGER book_increase BEFORE
insert ON 户口本 FOR EACH ROW
begin
select BOOK_SEQUENCE.nextval into :New.户号 from dual;
end;
注:要注意这里的两个分号';',不能少,否则会出现ora-04098:触发器...无效且未通过重新验证,其他的语句结尾处的分号是可以省略的,只有这里结尾处的分号不能忽略!!!