最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

oracle生成動(dòng)態(tài)前綴且自增號(hào)碼的函數(shù)分享

 更新時(shí)間:2014年04月23日 15:36:42   作者:  
這篇文章主要介紹了oracle生成動(dòng)態(tài)前綴且自增號(hào)碼的函數(shù),需要的朋友可以參考下

復(fù)制代碼 代碼如下:

create or replace

Function GetInvitationNO(prev varchar2, num1 varchar2, num2 varchar2, sessionSetting varchar2)

Return Varchar2

Authid Current_User Is PRAGMA AUTONOMOUS_TRANSACTION;-- 需要使用“Current_User”的權(quán)限防止無(wú)法運(yùn)行“Execute Immediate”命令 & “PRAGMA AUTONOMOUS_TRANSACTION”自制事務(wù)防止DML無(wú)法DDL的問(wèn)題

Totalprev Varchar2(50);

Hassequences Number;

ReNO varchar2(50);

Begin

-- 號(hào)碼的前綴

Totalprev := Prev || Num1 || Num2 || Sessionsetting;

-- 創(chuàng)建序列

Select Count(*) Into Hassequences From User_Sequences Where Sequence_Name=Totalprev;

If Hassequences <> 1 Then

Execute Immediate 'Create Sequence '||Totalprev||' Increment By 1 Start With 1 maxvalue 9999999 Nocycle';

End If;

-- 通過(guò)動(dòng)態(tài)的序列名取序列值,把獲取的序列值轉(zhuǎn)換為7位長(zhǎng)度的字符串,長(zhǎng)度不足用“0”填充 

Execute Immediate 'Select '''|| Totalprev ||''' || to_char('||Totalprev||'.Nextval,''FM0000000'') From Dual' into ReNO;

-- to_char()中FM后跟的0代表了數(shù)字的位數(shù),不足的用“0”填充;加上“FM”可以避免空格的出現(xiàn),前面的空格是為符號(hào)位保留的,如果是對(duì)負(fù)數(shù)使用to_char,則空格部分是用來(lái)顯示-的,因?yàn)槭钦龜?shù),所以不顯示+,而是以空格代替

Return ReNO;

end;

測(cè)試

復(fù)制代碼 代碼如下:

Select GetInvitationNO('p', '1', '01', '114') From dual
-- Dual 是 Oracle中的一個(gè)實(shí)際存在的表,任何用戶(hù)均可讀取,常用在沒(méi)有目標(biāo)表的select語(yǔ)句塊中

相關(guān)文章

最新評(píng)論

闻喜县| 昆明市| 鄂伦春自治旗| 津市市| 崇义县| 通河县| 昌江| 枣阳市| 铁力市| 临武县| 平山县| 潼关县| 武汉市| 工布江达县| 习水县| 巴里| 彭水| 隆林| 泰兴市| 谷城县| 中山市| 平利县| 南城县| 兰坪| 洮南市| 开原市| 招远市| 奎屯市| 黎平县| 甘洛县| 峡江县| 乌恰县| 峨眉山市| 佛山市| 荆州市| 大同市| 彭州市| 霍州市| 孟津县| 溆浦县| 酒泉市|