Neil的備忘錄

          just do it
          posts - 66, comments - 8, trackbacks - 0, articles - 0

          獲取自動生成的ID

          Posted on 2008-10-14 14:55 Neil's NoteBook 閱讀(118) 評論(0)  編輯  收藏

          此情況主要出現在數據庫服務器為ORACLE下,一般的ID自動生成策略可以由HIBERNATE自帶的工具類解決,由于HIBERNATE工具類將自動生成的ID與表綁定,所以當你需要取到自動生成的ID時,可以通過以下途徑解決:
          1. 在ORACLE新建一個序列(SEQUENCES).

          -- Create sequence 
          create sequence SEQ_QX_USERID
          minvalue 
          1
          maxvalue 
          99999999999
          start 
          with 10000002228
          increment 
          by 1
          cache 
          20;

           
          2.新建一個函數或者存儲過程,通過函數或者存儲過程獲取自動生成的序列號.

          CREATE OR REPLACE FUNCTION F_GET_QXUSERID
          RETURN VARCHAR2 IS
              LC_USERID    
          VARCHAR2(11);  --節點代碼
          BEGIN

          select to_char(SEQ_QX_USERID.nextval) into LC_USERID from dual;
          --select to_char(10000000000 + count(r.userid))  INTO LC_USERID from qx_user r ;
          RETURN LC_USERID;

          END;
             
              (完)

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 凉城县| 湖北省| 英超| 阿鲁科尔沁旗| 安宁市| 鞍山市| 民县| 当雄县| 定西市| 青冈县| 定南县| 连州市| 陆河县| 伊通| 泽州县| 开化县| 临汾市| 贵德县| 万山特区| 永川市| 大庆市| 通道| 开阳县| 义马市| 富裕县| 望谟县| 葫芦岛市| 察雅县| 密山市| 柳州市| 保定市| 古田县| 北海市| 嘉义市| 土默特左旗| 福州市| 衢州市| 肇东市| 肃宁县| 喀喇| 丰台区|