oracle 修改欄位型別的方法
今天公司因為業務需要,修要修改某個欄位資料型別有number(5),變為number(5,2)型
要是沒有資料的話直接用以下語句即可
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;
-- Add/modify columns
alter table tb_test modify PERMILE null;
update tb_test set permile_temp=permile,permile=null;
commit;
alter table tb_test modify permile number(5,2);
update tb_test set permile=permile_temp,permile_temp=null;
commit;
alter table tb_test drop column permile_temp;
alter table tb_test modify PERMILE not null;
select * from tb_test ;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7199859/viewspace-331197/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 修改欄位資料型別的方法資料型別
- Oracle 修改欄位型別和長度Oracle型別
- 修改表的欄位型別型別
- 【轉】修改表的欄位資料型別的方法資料型別
- oracle的欄位型別Oracle型別
- sqlite sql 修改欄位型別SQLite型別
- sql語句修改欄位型別和增加欄位SQL型別
- Oracle-不刪表資料,修改欄位型別Oracle型別
- Sqlserver修改線上表的表欄位型別SQLServer型別
- 主流資料庫欄位型別轉.Net型別的方法資料庫型別
- 在SQL Server中修改欄位型別和欄位名稱的儲存過程SQLServer型別儲存過程
- 修改oracle的約束欄位Oracle
- 保留兩位小數:資料庫欄位型別NUMBER,Java欄位型別Double型別資料庫型別Java
- oracle 修改表欄位的長度Oracle
- 轉載:Oracle常用的資料庫欄位型別Oracle資料庫型別
- MongoDB更改欄位型別MongoDB型別
- oracle的long型別欄位的應用-- 實戰篇Oracle型別
- oracle的long型別欄位的應用-- 知識篇Oracle型別
- Oracle 增加修改刪除欄位Oracle
- MongoDB中的欄位型別IdMongoDB型別
- MySQL欄位新增註釋,但不改變欄位的型別MySql型別
- MySQL欄位型別最全解析MySql型別
- date、timestamp欄位型別型別
- MySQL欄位型別小記MySql型別
- 資料欄位型別匹配型別
- [提問交流]建立模型,新增屬性,欄位型別如何設定2位小數的欄位型別模型型別
- Oracle user_tab_partitions.high_value欄位 LONG型別 讀取的幾種方法Oracle型別
- ORACLE MYSQL中join 欄位型別不同索引失效的情況OracleMySql型別索引
- 【mongo】mongo 欄位型別互轉Go型別
- [轉]MySQL 欄位型別參考MySql型別
- 欄位型別檢測指令碼型別指令碼
- 比較所有的欄位型別型別
- oracle檢視該使用者的所有表名字、表註釋、欄位名、欄位註釋、是否為空、欄位型別Oracle型別
- 改變表中非空欄位的型別型別
- MySQL中TEXT與BLOB欄位型別的區別MySql型別
- Oracle-批量修改欄位裡面的值Oracle
- 聯機重定義修改欄位型別(NVARCHAR2->VARCHAR2)型別
- MySQL-修改欄位型別、設定預設值,以及新增註釋MySql型別