oracle创建固定长度的自增ID
admin
2023-05-07 12:02:01
0

ORACLE的编号和SQL SERVER的不同。SQL SERVER可以设置一个值为自增。 
ORACLE需要先建立一个SEQUENCE,然后用NEXTVAL。

例如,若想生成这样的编码,0001,0002,0003.。。。。。

首先建立一个1-n的整数循环序列,

CREATE SEQUENCE DATE_SEQ 
START WITH 1 --起始值(默认为1可省略) 
INCREMENT BY 1 --可省略(默认为1可省略) 
MAXVALUE 9999 --最大值9999 
CYCLE --循环 
NOCACHE --不缓存(可避免产生值不连续的情况) 
ORDER --保证按次序产生值
示例:
create sequence TEST_ID  
minvalue 1  
maxvalue 9999
start with 1  
increment by 1  
nocache;

有了1-9999的循环序列,我们就可以 
TO_CHAR(DATE_SEQ.NEXTVAL) 先将其转换为字符形式。 
然后 LPAD(TO_CHAR(DATE_SEQ.NEXTVAL),4,'0') 对其进行4位加'0'补齐长度。例如2,补齐为0002。

然后加上插入的日期(只要年月) 
TO_CHAR(SYSDATE,'YYYYMM')||LPAD(TO_CHAR(DATE_SEQ.NEXTVAL),4,'0') --这样可以实现日期+编码的格式。

原文地址:http://plat.delit.cn/thread-144-1-1.html

转载请注明出处:

撰写人:度量科技http://www.delit.cn

相关内容

热门资讯

少出国、少用油、少买金子,莫迪... 【文/观察者网 熊超然】上周末,印度总理莫迪呼吁民众在中东战争持续的这段时间里,未来一年内适度减少燃...
岛内“新地标”,沦为民进党“抢... 被视为岛内近年来最为重大的公共建设项目之一的新北市淡江大桥,于5月12日正式通车。然而,因民进党当局...
副秘书长在以色列机场遭扣留,联... 新华社联合国5月13日电 联合国秘书长副发言人哈克13日就联合国负责安全和安保事务的副秘书长吉勒·米...
【珠城“健”闻】市三院引进非侵... 前沿科技赋能: 构建大脑与肢体的康复通路 技术优势对比: 与传统被动康复训练相比的显著突破 1.意...
从微信状态看社交边界 钟 颐 5月11日深夜,“微信状态 访客记录”话题冲上微博热搜,引发网友热议。微信方面表示,该功能仅...
中国科学家成功研制“九章四号”... 4月10日拍摄的“九章四号”量子计算原型机局部。 记者5月13日从中国科学技术大学获悉,该校潘建伟、...
江苏睿恩新能源申请正极极片及其... 国家知识产权局信息显示,江苏睿恩新能源科技有限公司申请一项名为“一种正极极片及其制备方法、锂离子电池...
流言|2026年地球会失重7秒... 流言:2026年8月12日地球将失重7秒、数千万人因此伤亡。 (图片由AI生成) 真相:“地球重...
从渠道赋能到行业基础设施 互联... 2025年,伴随数智技术的加速渗透,保险业的获客方式、决策逻辑乃至服务形态,都在被重新定义,互联网保...
人形机器人绕不开的坎:续航问题... 这两年,关于人形机器人的故事已经被讲了很多:AGI 的终极载体、万亿美元的劳动力替代、工厂和家庭的全...