oracle 修改字段型別的方法

2021-04-23 05:34:48 字數 1159 閱讀 7521

要是沒有資料的話直接用以下語句即可

alter   table  tb_test  modify permile  number(5,2);

但是有資料的話 就不能用上面方法了,

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;

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

以下方法是比較好的方法

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

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

以下是指令碼:

alter table tb_test  add permile_temp number;itpub個人空間4] h$/h-c3yf

-- add/modify columns itpub個人空間9w gq%?t.y

alter table  tb_test  modify permile null;itpub個人空間k8dr3ifu"p$p

update  tb_test  set permile_temp=permile,permile=null;

&`rs,nl8a0commit;itpub個人空間5n8u,gh+s"c7^ m

alter table  tb_test  modify permile number(5,2);itpub個人空間w,nq&a%{ kt

update  tb_test  set permile=permile_temp,permile_temp=null;itpub個人空間+aw"e,otv,|tdb4m

commit;

1lut3g(k0alter table  tb_test  drop column permile_temp;

7v r3z&|:t'zz#_ur0alter table  tb_test  modify permile not null;

~/e7b|fi%o5_j0select * from  tb_test ;

Oracle修改字段型別方法

有乙個表名為tb,欄位段名為name,資料型別是blog,要調整成資料型別nvarchar2 1024 1 假設字段資料為空,則不管改為什麼字段型別,可以直接執行 alter table tb modify name nvarchar2 1024 2 假設欄位有資料,則改為varchar2 1024...

oracle 修改字段型別的方法

因為業務需要,修要修改某個字段資料型別有number 5 變為number 5,2 型 要是沒有資料的話直接用以下語句即可 alter table tb test modify permile number 5,2 但是有資料的話 就不能用上面方法了,alter table tb test add ...

Oracle修改字段型別方法總結

有乙個表名為tb,欄位段名為name,資料型別nchar 20 1 假設字段資料為空,則不管改為什麼字段型別,可以直接執行 alter table tb modify name nvarchar2 20 2 假設欄位有資料,則改為nvarchar2 20 可以直接執行 alter table tb ...