<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 閱讀(845) 評論(0)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 亚洲高清在线观看| 亚洲免费网站观看视频| 亚洲成年轻人电影网站www| 四虎影视在线看免费观看| 日本免费电影一区| 亚洲变态另类一区二区三区| 国产在线一区二区综合免费视频 | jizz在线免费观看| 亚洲一区二区三区免费| 人成午夜免费大片在线观看| 久久久久亚洲AV综合波多野结衣| 国产成人精品亚洲2020| 91免费播放人人爽人人快乐| 亚洲午夜在线播放| 妞干网手机免费视频| 美女羞羞免费视频网站| 久久精品国产亚洲Aⅴ香蕉| CAOPORN国产精品免费视频| 国产亚洲精品高清在线| 三年片在线观看免费大全电影| 亚洲欧洲国产综合| 国产精品二区三区免费播放心| 四虎永久在线精品免费一区二区 | 免费欧洲美女牲交视频| 亚美影视免费在线观看| 亚洲av伊人久久综合密臀性色 | 国产成人精品日本亚洲专| 毛片A级毛片免费播放| 亚洲丝袜美腿视频| 一二三四视频在线观看中文版免费| 亚洲国产区男人本色在线观看| 免费一级e一片在线播放| 国产在线国偷精品免费看| 亚洲天天在线日亚洲洲精| 成年女人免费视频播放77777| 人妻18毛片a级毛片免费看| 亚洲专区在线视频| 日本一区二区三区日本免费| 久久成人免费播放网站| 亚洲爆乳成av人在线视菜奈实| 亚洲毛片αv无线播放一区|