ORACLE的編號和SQL SERVER的不同。SQL SERVER可以設(shè)置一個值為自增。
ORACLE需要先建立一個SEQUENCE,然后用NEXTVAL。
例如,若想生成這樣的編碼,0001,0002,0003.。。。。。
首先建立一個1-n的整數(shù)循環(huán)序列,
CREATE SEQUENCE DATE_SEQ START WITH 1 --起始值(默認(rèn)為1可省略) INCREMENT BY 1 --可省略(默認(rèn)為1可省略) MAXVALUE 9999 --大值9999 CYCLE --循環(huán) NOCACHE --不緩存(可避免產(chǎn)生值不連續(xù)的情況) ORDER --保證按次序產(chǎn)生值示例: create sequence TEST_ID minvalue 1 maxvalue 9999 start with 1 increment by 1 nocache;有了1-9999的循環(huán)序列,我們就可以
TO_CHAR(DATE_SEQ.NEXTVAL) 先將其轉(zhuǎn)換為字符形式。
然后 LPAD(TO_CHAR(DATE_SEQ.NEXTVAL),4,'0') 對其進(jìn)行4位加'0'補(bǔ)齊長度。例如2,補(bǔ)齊為0002。
然后加上插入的日期(只要年月)
TO_CHAR(SYSDATE,'YYYYMM')||LPAD(TO_CHAR(DATE_SEQ.NEXTVAL),4,'0') --這樣可以實(shí)現(xiàn)日期+編碼的格式。
原文地址:http://plat.delit.cn/thread-144-1-1.html
轉(zhuǎn)載請注明出處:
撰寫人:度量科技http://www.delit.cn
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。