<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 60,comments - 71,trackbacks - 0

            在ORACLE數據庫表中,有時會有需要更改數據庫表中字段類型的情況,比如由NUMBER(5)改為
    VARCHAR(50)...,這時就要視情況來更改了,如果原數據庫表中沒有數據,則可以直接使用:
                    
          alter   table  test  modify  name  VARCHAR2(50);

           但是有數據的話 就不能用上面方法了,

             

           alter table test add  name_temp number(5);
                  
            
    update test set  name_temp=name;

            
    alter table drop column name;

             
    alter  table  test rename column  name_temp to name;

            這種方法會使列名發生變化,而且字段順序增加 有可能發生行遷移,對應用程序會產生影響

            以下方法是比較好的方法

            不用使列名發生變化 也不會發生表遷移,但這個有個缺點是表要更新兩次

            如果數據量較大的話 產生的undo和redo更多 ,前提也是要停機做

            要是不停機的話 ,也可以采用在線重定義方式來做

            以下是腳本:

           alter table test  add name_temp number(5);

           
    update  test  set name_temp=name,name=null;

           
    alter table  test  modify name  VARCHAR2(50);
           
               update  test  set name=name_temp,name_temp=null;
           
               commit;
           
               alter table  test  drop column name_temp;
        
            
    desc test;
             
              這樣就不會出現上述的問題了.
    posted on 2009-03-04 11:42 henry1451 閱讀(852) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 四虎永久在线精品视频免费观看| 思思re热免费精品视频66 | 中文字幕亚洲乱码熟女一区二区| 亚洲精品又粗又大又爽A片| 免费无码看av的网站| 亚洲av片在线观看| 国产免费观看a大片的网站| 国产AV无码专区亚洲AV蜜芽| 中文字幕不卡亚洲 | 一二三四免费观看在线视频中文版| 91亚洲自偷手机在线观看| 91制片厂制作传媒免费版樱花| 亚洲视频免费播放| 最近最新中文字幕完整版免费高清| 亚洲私人无码综合久久网| 免费99热在线观看| 精品一区二区三区免费观看| 亚洲成在人线av| 国产在线观看免费观看不卡| 亚洲欧洲日韩国产一区二区三区| 国产成人精品免费视频软件| 无码 免费 国产在线观看91| 亚洲精品国产精品乱码不卡√| 免费视频成人片在线观看| 久久精品国产亚洲AV蜜臀色欲| 国产精品酒店视频免费看| 成人妇女免费播放久久久| 亚洲日产2021三区| 国产成人综合久久精品免费| a毛片免费播放全部完整| 亚洲一区在线视频| 亚洲国产a级视频| 99久久国产免费-99久久国产免费| 自拍日韩亚洲一区在线| 亚洲一级特黄大片在线观看| 一级毛片**不卡免费播| 精品国产_亚洲人成在线| 亚洲成色在线影院| 波多野结衣久久高清免费| a级毛片免费在线观看| 亚洲色丰满少妇高潮18p|