午夜视频免费看_日韩三级电影网站_国产精品久久一级_亚洲一级在线播放_人妻体内射精一区二区三区_91夜夜揉人人捏人人添红杏_91福利在线导航_国产又粗又猛又黄又爽无遮挡_欧美日韩一区在线播放_中文字幕一区二区三区四区不卡 _日日夜夜精品视频免费观看_欧美韩日一区二区三区

主頁 > 知識庫 > Oracle學習記錄之使用自定義函數和觸發器實現主鍵動態生成

Oracle學習記錄之使用自定義函數和觸發器實現主鍵動態生成

熱門標簽:哪個400外呼系統好 慧營銷crm外呼系統丹丹 哈爾濱電話機器人銷售招聘 地圖標注養老院 開發外呼系統 百度地圖標注途經點 山東crm外呼系統軟件 愛客外呼系統怎么樣 圖吧網站地圖標注

很早就想自己寫寫Oracle的函數和觸發器,最近一個來自課本的小案例給了我這個機會?,F在把我做的東西記錄下來,作為一個備忘或者入門的朋友們的參考。

  案例介紹:

    招投標管理系統(數據庫設計)。
    數據表有以下兩張:
      招標書(招標書編號、項目名稱、招標書內容、截止日期、狀態)。
      投標書(投標書編號、招標書編號、投標企業、投標書內容、投標日期、報價、狀態)。
      “招標書編號”為字符型,編號規則為 ZBYYYYMMDDNNN, ZB是招標的漢語拼音首字母,YYYYMMDD是當前日期,NNN是三位流水號。
      “投標書編號”為字符型,編號規則為TB[11位招標書編號]NNN。

  經過分析,我們可以得知兩張表的關系。我們先創建數據結構,比如:

CREATE TABLE TENDER
(
 TENDER_ID  VARCHAR2(50) PRIMARY KEY,
 PROJECT_NAME VARCHAR2(50) NOT NULL UNIQUE,
 CONTENT   BLOB,
 END_DATE   DATE NOT NULL,
 STATUS    INTEGER NOT NULL
);
CREATE TABLE BID
(
 BID_ID  VARCHAR2(50) PRIMARY KEY,
 TENDER_ID VARCHAR2(50) NOT NULL,
 COMPANY  VARCHAR2(50) NOT NULL,
 CONTENT  BLOB,
 BID_DATE DATE NOT NULL,
 PRICE   INTEGER NOT NULL,
 STATUS  INTEGER NOT NULL
);
ALTER TABLE BID ADD CONSTRAINT FK_BID_TENDER_ID FOREIGN KEY(TENDER_ID) REFERENCES TENDER(TENDER_ID);

然后是生成招標的函數:

CREATE OR REPLACE 
FUNCTION "createZBNo" RETURN VARCHAR2
AS
hasCount NUMBER(11,0);
lastID VARCHAR2(50);
lastTime VARCHAR2(12);
lastNo NUMBER(3,0);
curNo NUMBER(3,0);
BEGIN
  -- 查詢表中是否有記錄
  SELECT "COUNT"(TENDER_ID) INTO hasCount FROM TENDER;
  IF hasCount > 0 THEN
    -- 查詢必要信息
    SELECT TENDER_ID INTO lastID FROM TENDER WHERE ROWNUM = 1 ORDER BY to_number(to_char(scn_to_timestamp(ORA_ROWSCN),'yyyyMMddhh24mmss'),'99999999999999') DESC;
    SELECT "SUBSTR"(lastID, 3, 8) INTO lastTime FROM dual;
    -- 分析上一次發布招標信息是否是今日
    IF ("TO_CHAR"(SYSDATE,'YYYYMMDD') = lastTime) THEN
      SELECT "TO_NUMBER"("SUBSTR"(lastID, 11, 13), '999') INTO lastNo FROM dual;
      -- 如果是今日且流水號允許新增招標信息
      IF lastNo  999 THEN
        SELECT lastNo + 1 INTO curNo FROM dual;
        RETURN 'ZB'||lastTime||"LPAD"("TO_CHAR"(curNo), 3, '0');
      END IF;
        -- 流水號超出
        RETURN 'NoOutOfBounds!Check it!';
    END IF;
      -- 不是今日發布的招標信息,今日是第一次
      RETURN 'ZB'||"TO_CHAR"(SYSDATE,'YYYYMMDD')||'001';
  END IF;
      -- 整個表中的第一條數據
    RETURN 'ZB'||"TO_CHAR"(SYSDATE,'YYYYMMDD')||'001';
END;

然后是投標書的編號生成函數:

CREATE OR REPLACE 
FUNCTION "createTBNo" (ZBNo IN VARCHAR2)
RETURN VARCHAR2
AS
hasCount NUMBER(11,0);
lastID VARCHAR2(50);
lastNo NUMBER(3,0);
curNo NUMBER(3,0);
BEGIN
  -- 查看是否已經有了對于該想招標的投標書
  SELECT "COUNT"(BID_ID) INTO hasCount FROM BID WHERE BID_ID LIKE 'TB'||ZBNo||'___' AND ROWNUM = 1 ORDER BY to_number(to_char(scn_to_timestamp(ORA_ROWSCN),'yyyyMMddhh24mmss'),'99999999999999') DESC;
  IF hasCount > 0 THEN
    -- 有了
    SELECT BID_ID INTO lastID FROM BID WHERE BID_ID LIKE 'TB'||ZBNo||'___' AND ROWNUM = 1 ORDER BY to_number(to_char(scn_to_timestamp(ORA_ROWSCN),'yyyyMMddhh24mmss'),'99999999999999') DESC;
      SELECT "TO_NUMBER"("SUBSTR"(lastID, 16,18),'999') INTO lastNo FROM dual;
      -- 流水號沒超出
      IF lastNo  999 THEN
        SELECT lastNo + 1 INTO curNo FROM dual;
        RETURN 'TB'||ZBNo||"LPAD"("TO_CHAR"(curNo),3,'0');
      END IF;
        RETURN 'NoOutOfBounds!Check it!';
  END IF;
    -- 沒有投標書對該招標書
    RETURN 'TB'||ZBNo||'001';
END;

然后在兩個表中注冊觸發器,當新增數據的時候動態生成編號!

  招標書觸發器,用于動態生成招標書編號:

CREATE OR REPLACE 
 TRIGGER newTender
 BEFORE INSERT 
 ON TENDER
 FOR EACH ROW
BEGIN
  -- 如果生成編號失敗
 IF (LENGTH("createZBNo") > 13) THEN
    -- 此處根據我的提示信息報錯可以直接如下操作
    -- :NEW.TENDER_ID := NULL;
  RAISE_APPLICATION_ERROR(-20222,"createZBNo");
 END IF;
    -- 如果生成編號成功,將編號注入查詢語句中
   :NEW.tender_id :="createZBNo";
END;

然后是投標書的觸發器:

CREATE OR REPLACE 
 TRIGGER newBid
 BEFORE INSERT 
 ON BID
 FOR EACH ROW
BEGIN
 IF (LENGTH("createTBNo"(:NEW.TENDER_ID)) > 18) THEN
  RAISE_APPLICATION_ERROR(-20222,"createTBNo"(:NEW.TENDER_ID));
 END IF;
   :NEW.BID_ID :="createTBNo"(:NEW.TENDER_ID);
END;

然后插入數據測試吧:

 

  

 

  以上只是個人的一些觀點,如果您不認同或者能給予指正和幫助,請不吝賜教。

您可能感興趣的文章:
  • oracle 存儲過程詳細介紹(創建,刪除存儲過程,參數傳遞等)
  • Oracle存儲過程返回游標實例詳解
  • oracle 在一個存儲過程中調用另一個返回游標的存儲過程
  • Oracle存儲過程入門學習基本語法
  • Oracle中 關于數據庫存儲過程和存儲函數的使用
  • oracle如何恢復被覆蓋的存儲過程
  • oracle數據庫中查看系統存儲過程的方法
  • oracle 存儲過程和函數例子
  • Oracle 存儲過程總結 二、字符串處理相關函數
  • Oracle存儲過程和存儲函數創建方法(詳解)
  • Oracle存儲過程和自定義函數詳解
  • oracle 存儲過程、函數和觸發器用法實例詳解

標簽:固原 武漢 甘肅 周口 承德 青島 和田 開封

巨人網絡通訊聲明:本文標題《Oracle學習記錄之使用自定義函數和觸發器實現主鍵動態生成》,本文關鍵詞  Oracle,學習,記錄,之,使用,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Oracle學習記錄之使用自定義函數和觸發器實現主鍵動態生成》相關的同類信息!
  • 本頁收集關于Oracle學習記錄之使用自定義函數和觸發器實現主鍵動態生成的相關信息資訊供網民參考!
  • 推薦文章
    成人高清免费观看| 欧美性受xxx| 18禁裸乳无遮挡啪啪无码免费| 亚洲国产视频直播| 漂亮人妻被中出中文字幕| 亚洲一区二区三区四区在线观看 | 久久久久久久麻豆| 国产精品天天摸av网| 国产不卡一区二区三区在线观看| 丰满少妇xoxoxo视频| 精品毛片乱码1区2区3区| 国产wwwxx| 国产欧美日韩视频在线观看| 精品午夜一区二区三区| 日韩中文字幕免费观看| 97在线观看免费高清| xxxxxx国产| 亚洲乱亚洲乱妇无码| chinese全程对白| 欧美xxxx做受欧美| 亚洲精品无遮挡| 欧美一区国产一区| 亚洲欧洲三级电影| 日韩成人精品视频在线观看| 欧美日韩小视频| 欧美日韩大片在线观看| 久久免费视频在线观看| 天天操天天干天天舔| 欧美激情亚洲天堂| 亚洲精品你懂的| 人妻在线日韩免费视频| 亚洲精品电影网| 中文字幕在线2018| 久久99精品久久久久久青青日本| 中文子幕无线码一区tr| 人妻av一区二区三区| 精品乱人伦小说| 91丨九色丨蝌蚪丨对白| 久久视频在线观看中文字幕| 亚洲自拍偷拍av| 三级黄色录像视频| 国产精品美女主播| 狠狠网亚洲精品| 草草草在线视频| 欧美精品一区二区三区蜜桃| 岳乳丰满一区二区三区| 国产精品一区免费观看| 亚洲男同性恋视频| 亚洲一级片在线播放| 国产女人精品视频| 一区二区三区免费看视频| 一区二区三区四区五区| 99在线热播| 91久久免费观看| 国产精品国产一区二区三区四区| 中文字幕一区二区三区四区五区六区 | 99久久国产综合精品色伊| 亚洲最大的黄色网| 久久久久久久毛片| 欧美高清69hd| 六月丁香色婷婷| 亚洲经典一区二区| 色香蕉在线视频| 天堂在线亚洲视频| 美女黄页在线观看| 免费在线黄色网| 日韩在线a电影| 国产色91在线| 不卡电影免费在线播放一区| 懂色av中文字幕一区二区三区| 日本欧美加勒比视频| 色av性av丰满av| 婷婷色在线视频| 免费精品视频在线| 亚洲视频在线观看免费| 亚洲国产精品久久久久婷婷老年| 朝桐光av一区二区三区| 韩国三级电影一区二区| 午夜精彩视频在线观看不卡| 色综合天天综合在线视频| 国产视频久久网| 午夜精品一区二区三区在线| 国产原创精品| 亚洲欧美在线磁力| 国产精品欧美一区二区| 97精品人人妻人人| 99热只有这里有精品| 蜜臀av一级做a爰片久久| 2014亚洲片线观看视频免费| 国产精品青草综合久久久久99| 欧美日韩亚洲一区二区| 97成人精品区在线播放| 亚洲一级中文字幕| 国产精品美女久久久久久| 久久综合国产精品台湾中文娱乐网| 9色视频在线观看| 瑟瑟视频在线观看| 中文字幕免费观看| 91丨porny丨蝌蚪视频| 亚洲国产精品视频| 久久久国产一区二区| 亚洲精品一区二区三区精华液| 亚洲午夜视频在线观看| 久久婷婷久久一区二区三区| 国产精品一区二区久激情瑜伽| 亚洲综合精品自拍| 久久这里有精品| 亚洲一区二区三区成人在线视频精品| 手机看片福利盒子久久| 婷婷丁香花五月天| 久久久久久999| 日韩综合第一页| 亚洲欧美色图小说| 日韩免费观看高清| 国产黄色大片免费看| 国产69精品久久久久777| 国产欧美日本一区视频| 亚洲第一区中文99精品| 亚洲一区精品电影| 一本岛在线视频| 久久www视频| 无套内谢丰满少妇中文字幕| 久久久www成人免费无遮挡大片| 日韩一区二区在线看| 性欧美xxxx视频在线观看| 极品粉嫩国产18尤物| 国产成年人在线观看| 国产精品夜夜夜爽阿娇| 91免费小视频| 国产精品中文字幕久久久| 欧美精品日韩在线| 黄色国产在线播放| 97久久超碰国产精品电影| 国产精品一香蕉国产线看观看 | 久热国产精品视频| 欧美精品一区在线| 国产人成一区二区三区影院| 亚洲 国产 日韩 欧美| 午夜精品在线播放| 在线亚洲免费视频| 欧美一乱一性一交一视频| caoporn超碰97| 糖心vlog精品一区二区| 欧美性色19p| 日韩经典在线视频| 国产乱叫456在线| 992tv成人免费视频| 91黄在线观看| 亚洲国产成人不卡| 久久久久久久久久久91| 国产精品福利网站| 欧美日韩一区二区视频在线| 亚洲精品在线网址| 国产成人精品一区二区无码呦| 亚洲精品久久久久久久久久久久 | 一区二区三区播放| 日本高清视频在线| 欧美撒尿777hd撒尿| 波多野结衣久草一区| 黄色一级a毛片| 亚洲va欧美va国产综合久久| 欧美a级一区二区| 欧美日韩国产不卡在线看| 美女网站一区二区| 日韩av综合网站| 亚洲欧洲日产国码无码久久99| 国产精品伊人久久| 欧美丰满少妇xxxbbb| 欧洲成人一区二区| 美乳视频一区二区| 伊人久久大香线蕉av一区二区| 国内成+人亚洲| 污污视频网站在线| 懂色av蜜臀av粉嫩av分享吧| 91av视频在线| 中文字幕乱码人妻二区三区| 久久先锋影音av鲁色资源| 亚洲精品中文在线观看| 亚洲最大成人免费视频| 中文字幕乱码人妻综合二区三区 | 久草国产在线观看| 日韩欧美国产一二三区| 久久这里只有精品免费| 色天天综合狠狠色| 欧美不卡视频在线观看| 国产一区二区激情| 日本爱爱爱视频| 有坂深雪av一区二区精品| 91在线观看免费高清| 中文字幕无码日韩专区免费 | 欧美人成在线观看| 色窝窝无码一区二区三区成人网站 | 日韩福利电影在线| 精品国产123| 成人在线免费在线观看| 国产一区二区三区四区五区美女| 国产97人人超碰caoprom| 手机毛片在线观看| 亚洲综合在线视频| 久久成人福利视频| 国产午夜精品美女毛片视频| 岛国大片在线免费观看| 欧美一区二区在线不卡| 国产黄色大片免费看| 欧美午夜免费电影| 亚洲三级视频网站| 国产亚洲短视频| 国产精品久久久久久久久久久久冷| 欧美色图亚洲激情| 天天影视色香欲综合网老头| 免费av观看网址| 国产又粗又猛又黄又爽无遮挡| 色视频成人在线观看免| 国产精品久久久久av| 久久性爱视频网站| 一区二区三区日韩精品视频| 国产无套精品一区二区| 亚洲AV无码成人片在线观看| 欧美精品在线看| 欧美一级在线看| 国产精品无码专区av免费播放| 香蕉成人啪国产精品视频综合网| 国产精品一二区| 国产69视频在线观看| 久久成人免费电影| 欧美黄色成人网| 国产伦视频一区二区三区| 女人黄色一级片| 日本一区二区三区视频视频| www.日韩不卡电影av| 牛夜精品久久久久久久| 特黄视频在线观看| 亚洲国产精品久久91精品| 3d动漫一区二区三区| 久久久久久夜| 欧美高清一级大片| 天堂av8在线| 国产乱国产乱300精品| 亚洲精品小视频| 国产永久免费网站| 国产高清精品在线| 欧美乱大交xxxxx另类电影| 日本黄色三级大片| 成人午夜激情影院| 久久av红桃一区二区小说| 少妇极品熟妇人妻无码| av日韩在线网站| 91精品久久久久久久久久入口| 在线观看亚洲大片短视频| 精品国产鲁一鲁一区二区张丽| 亚洲乱码一区二区三区| 进去里视频在线观看| 亚洲午夜在线观看视频在线| 好吊妞www.84com只有这里才有精品| 伊人免费在线观看高清版| 日韩精品专区在线| 国产精品视频黄色| 国产拍揄自揄精品视频麻豆| 91精品国产综合久久香蕉的用户体验 | 美女av免费看| 在线免费观看日本欧美| 黄网站色视频免费观看| 精品午夜一区二区三区在线观看| 国产精品永久在线| 久久精品第一页| 日韩一区二区三区四区| 成人在线免费观看av| 中文字幕不卡的av| 伊人久久青草| 久久99最新地址| 亚洲综合在线小说| 亚洲精品97久久中文字幕| 欧美精品一区二区免费| 最近日本中文字幕| 欧美日韩午夜激情| 高潮一区二区三区| 一道本成人在线| 亚洲性生活网站| 亚洲综合丝袜美腿| 无限资源日本好片| 亚洲欧洲精品天堂一级| 青青草原网站在线观看| 国产欧美日韩不卡| 久久久99精品视频| 依依成人精品视频| 亚洲欧美国产中文| 色94色欧美sute亚洲线路一久| 国产成人av片| 中文字幕制服丝袜一区二区三区| 国产精品入口尤物| 国产精品国产一区二区三区四区 | 亚洲一区二区三区午夜| 久久九九久久九九| 日本手机在线视频| 久久久国际精品| 奇米777四色影视在线看| 久久综合中文字幕| 成人羞羞国产免费网站| 色婷婷av一区二区三区大白胸| 最新天堂在线视频| 亚洲第一国产精品| 四虎影院在线免费播放| 国产精品一区二区三区久久久| 秋霞欧美在线观看| av一区二区三区在线观看| 99在线精品免费| 色播五月综合网| 在线观看网站黄不卡| 捆绑裸体绳奴bdsm亚洲| 精品国产亚洲在线| 中文字幕人妻一区二区在线视频| 日本国产高清不卡| 亚洲av成人精品毛片| 欧美一进一出视频| 欧美日韩在线观看视频| 亚洲综合色一区| 国产综合在线视频| 日本不卡不码高清免费观看 | 日韩激情av在线播放| 国产91国语对白在线| 国产精品视频播放| 奇米色一区二区三区四区| 国产真实老熟女无套内射| 日韩欧美黄色影院| 6—12呦国产精品| 亚洲欧洲日韩综合二区| 亚洲精品欧美综合四区| 夫妻性生活毛片| 668精品在线视频| 九九**精品视频免费播放| 奇米影音第四色| 久久影视免费观看| 国产美女精品人人做人人爽 | 色婷婷精品久久二区二区蜜臂av | 无码人中文字幕| 亚洲综合大片69999| 亚洲制服丝袜在线| 久久伊人成人网| 国产精品一区二区三| 久久久久久久久久看片| 亚洲精品无码一区二区| 精品国产一区二区三区久久久蜜月 | 高清国产在线观看| 97人人模人人爽视频一区二区| 高清免费成人av| 国产日韩一区二区在线观看| 亚洲欧美精品在线| 精品夜夜嗨av一区二区三区| 涩多多在线观看| 日韩av理论片| 国产精品视频线看| 国产无套内射又大又猛又粗又爽| 无码人妻久久一区二区三区| 81精品国产乱码久久久久久| 久久精品国产亚洲一区二区三区| 天天干天天综合| 97视频色精品| 久久综合九色综合欧美就去吻| 亚洲精品天堂网| 欧美亚洲丝袜| 亚洲国产中文字幕久久网| 老司机精品视频导航| 亚洲在线观看网站| 97精品国产91久久久久久| 亚洲视频综合在线| 国产精品视频一区二区三区,| 手机在线国产视频| 国产精品久久久久久久久久久久久久 | 精品视频在线观看日韩| 91精品国产乱码久久久| 网站在线你懂的| 96pao国产成视频永久免费| 亚洲欧美电影一区二区| 久久久久久久亚洲| 69久久久久久| 91久久偷偷做嫩草影院| 亚洲经典中文字幕| 国产亚洲一区字幕| 一区二区自拍偷拍| 在线观看欧美一区二区| 51国产成人精品午夜福中文下载| 欧美一区二区三级| 91女人视频在线观看| 日本中文字幕在线| www.精品在线| 91久久久亚洲精品| 色噜噜久久综合伊人一本| 亚洲一区视频在线| 丰满少妇高潮在线观看| 黄色免费一级视频| 蜜桃视频在线观看成人| 欧美国产日韩免费| 欧美日韩日日夜夜| 99re成人在线| 99在线观看免费| 男人添女人荫蒂国产| 亚洲图色在线| 性欧美视频videos6一9| 精品婷婷伊人一区三区三| 久久久久久久久久久久久女国产乱| 久久影视中文字幕| 美国美女黄色片| 日本精品www| 免费看污久久久| 国产盗摄xxxx视频xxx69| 精品盗摄一区二区三区| 国产精品久久久爽爽爽麻豆色哟哟| 国产麻豆91视频| wwwav国产| 亚洲啪av永久无码精品放毛片|