oracle中字段類型修改
今天公司因?yàn)闃I(yè)務(wù)需要,修要修改某個(gè)字段數(shù)據(jù)類型有number(5),變?yōu)閚umber(5,2)型 要是沒有數(shù)據(jù)的話直接用以下語(yǔ)句即可 alter?? table tb_test modify permile number(5,2); 但是有數(shù)據(jù)的話 就不能用上面方法了, alter table tb_test add permile_temp number(5,2) update tb_test set permile_temp=permile; alter table drop column permile; alter table test rename column permile_temp to permile; 這種方法會(huì)使列名發(fā)生變化,而且字段順序增加 有可能發(fā)生行遷移,對(duì)應(yīng)用程序會(huì)產(chǎn)生影響 以下方法是比較好的方法 不用使列名發(fā)生變化 也不會(huì)發(fā)生表遷移,但這個(gè)有個(gè)缺點(diǎn)是表要更新兩次 如果數(shù)據(jù)量較大的話 產(chǎn)生的undo和redo更多 ,前提也是要停機(jī)做 要是不停機(jī)的話 ,也可以采用在線重定義方式來做 以下是腳本:
alter table b add ccc varchar2(15); |
posted on 2009-04-12 13:57 tobyxiong 閱讀(1081) 評(píng)論(0) 編輯 收藏 所屬分類: DATABASES