oracle中的ID号实现自增长的方法

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;

73A5BE9C70824F8EB92AB0D84198C494


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值