摘要:
下文讲述oracle数据库中创建标识列的相关技巧分享,如下所示;
标识列:自动增长列,在数据库的设计中我们经常使用此操作,
那么在oracle数据库中,我们如何创建标识列呢?下文将讲述具体的实现方法,如下所示:
实现思路:
步骤1: 创建数据表maomao
create table maomao
(keyId varchar2(20),
info varchar2(10));
步骤2: 创建一个序列(Sequence)
创建序列时,按需选择属性
如无最大值,则删除maxvalue行
create sequence SEQMAOMAOKEYID//序列名称
minvalue 1 //--该序列的最小值是1
maxvalue 99999999999999 //--最大值
nomaxvalue //--没有最大值
start with 1 //--初始值从1开始递增
increment by 1 //--每次递增1
cache 20 //--设置缓存CACHE个序列,如果系统DOWN掉了或者其它情况将会导致序列不连续
nocache //--序列不放在缓存中
cycle //--到最大值从初始值开始
nocycle //--一直累加,序列不循环
order; //
步骤3:向数据表maomao中插入值:
currval=返回 sequence的当前值
nextval=增加sequence的值,并返回 sequence 值
insert into maomao values (SEQMAOMAOKEYID.nextval,'maomao1');
insert into maomao values (SEQMAOMAOKEYID.nextval,'maomao2');
insert into maomao values (SEQMAOMAOKEYID.nextval,'maomao3');
insert into maomao values (SEQMAOMAOKEYID.nextval,'maomao4');
步骤4:
create or replace trigger tg_maomao
before insert on maomao for each row
as
begin
select SEQMAOMAOKEYID.NEXTVAL INTO :NEW.id FROM DUAL;
end;