1、使用sequence
--创建sequence
create sequence seq_on_test
increment by 1 -- 每次递增1
start with 1 -- 从1开始
nomaxvalue -- 没有最大值
minvalue 1 -- 最小值=1
nocycle -- 不循环
nocache;
--插入数据
insert into test values(seq_on_test.nextval,'Mary',15,.....);
insert into test values(seq_on_test.nextval,'Tom',16,......);
--seq的两个方法
select seq_on_test.currval from dual;
select seq_on_test.nextval from dual;
2、使用 sys_guid() 自动生成32位永不重复的ID号
CREATE OR REPLACE function createUid return varchar2 is Result varchar2(32);
begin
select sys_guid() into Result from dual;
return(Result);
end createUid;
sys_guid() 是Oracle 8i 后提供的函数。sys_guid产生并返回一个全球唯一的标识符(原始值)由16个字节组成。在大多数平台,生成的标识符由主机标符,执行函数的进程或者线程标识符,和进程或线程的一个非重复的值(字节序列)组成。
查询方式及结果如下:
select createUid from dual;
73A5BE9C70824F8EB92AB0D8