<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)  編輯  收藏

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


    網站導航:
     
    主站蜘蛛池模板: 日韩一卡2卡3卡4卡新区亚洲| 四虎免费影院ww4164h| 四虎影视大全免费入口| 亚洲一区二区三区深夜天堂| 最好看的中文字幕2019免费| 亚洲大香人伊一本线| 国产91色综合久久免费分享| 亚洲人色大成年网站在线观看| 日本免费一区二区在线观看| 亚洲一区二区三区无码国产 | 亚洲熟妇少妇任你躁在线观看| 人妻视频一区二区三区免费| 亚洲变态另类一区二区三区| 国产美女被遭强高潮免费网站| 黄色一级视频免费观看| 国产亚洲午夜高清国产拍精品| 中文字幕在线免费播放| 久久夜色精品国产亚洲AV动态图| 91精品国产免费| 亚洲色www永久网站| 免费人成年轻人电影| a毛片视频免费观看影院| 亚洲视频一区在线观看| 妞干网手机免费视频| 九九久久精品国产免费看小说| 狠狠色伊人亚洲综合成人| 亚洲成人免费网址| 国产大陆亚洲精品国产| 亚洲欧洲无码AV电影在线观看 | 亚洲精品成人网久久久久久| 日韩精品无码免费专区午夜| 亚洲精品视频在线观看免费| 国产视频精品免费| 久章草在线精品视频免费观看| 男人天堂2018亚洲男人天堂| 亚洲精品tv久久久久| 亚洲成年人免费网站| 污污的视频在线免费观看| 久久亚洲美女精品国产精品| 国产男女性潮高清免费网站| 午夜免费啪视频在线观看|