您好,登錄后才能下訂單哦!
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
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。