隨筆-57  評(píng)論-202  文章-17  trackbacks-0
                最近在做系統(tǒng)的Oracle移植,需要從MySQL移植到Oracle中,在MySQL中有自增類型的字段,在Oracle中卻沒(méi)有,需要用其它的辦法實(shí)現(xiàn)。在Oracle中要用一個(gè)SEQUENCE和觸發(fā)器實(shí)現(xiàn)。下面是我的一個(gè)實(shí)現(xiàn):
           1CREATE TABLE FOO
           2(
           3   INDEX                          INT                            NOT NULL,
           4   ABC                            VARCHAR2(128),
           5   DEF                            VARCHAR2(128),
           6   PRIMARY KEY (INDEXID)
           7) TABLESPACE TEMP;
           8
           9CREATE SEQUENCE FOO_INDEXID INCREMENT BY 1 START WITH 1 MAXVALUE 999999999999 CYCLE NOCACHE;
          10
          11CREATE OR REPLACE TRIGGER INSERT_FOO_INDEXID
          12BEFORE INSERT ON FOO
          13REFERENCING
          14    NEW AS new
          15    OLD AS old
          16FOR EACH ROW
          17BEGIN
          18    SELECT FOO_INDEXID.NEXTVAL INTO :new.INDEXID FROM DUAL;
          19END;
          posted on 2005-05-12 14:41 小米 閱讀(1181) 評(píng)論(2)  編輯  收藏 所屬分類: 數(shù)據(jù)庫(kù)

          評(píng)論:
          # re: Oracle中的自增類型的實(shí)現(xiàn) 2007-06-04 08:25 | PF
          樓主,int類型的長(zhǎng)度不可能到“999999999999”,如此定義隊(duì)列無(wú)意義的!

          其實(shí)你可以不用考慮實(shí)例化,應(yīng)該去自定義一種數(shù)據(jù)類型,建表引用即可  回復(fù)  更多評(píng)論
            
          # re: Oracle中的自增類型的實(shí)現(xiàn) 2009-09-10 16:19 | ddkl
          oracle就是喜歡搞這么多事出來(lái)  回復(fù)  更多評(píng)論
            

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 浦东新区| 磐安县| 邮箱| 盈江县| 东丽区| 铁岭县| 体育| 贵定县| 太和县| 临桂县| 大厂| 三河市| 公安县| 镇平县| 梁河县| 白银市| 龙泉市| 招远市| 高密市| 通许县| 阳东县| 颍上县| 海盐县| 台安县| 巴马| 盐津县| 武胜县| 弋阳县| 临西县| 广平县| 巴青县| 南丰县| 冀州市| 来宾市| 台中县| 淮北市| 南靖县| 恩平市| 青海省| 日喀则市| 盐城市|