oracle 資料庫修改資料型別,保留原來資料

2021-06-29 09:15:58 字數 570 閱讀 2512

遇到專案,原來是資料型別不能滿足當前需求,要保留舊資料的前提下修改(或擴大)某一列的資料型別

在oracle資料庫中,有資料的列是不能被修改的,思路是這樣的

(1)在原資料表中增加新列,新列的列名只要不同的行,這個新列的資料型別就是目標資料型別

(2)轉移資料,將舊列的資料儲存到新列中

(3)刪除舊列

(4)修改新列列名為之前刪去的舊列列名。

提交!來,舉個栗子

alter table tablename add (newname number(10,2) );

update tablename tr set newname=(

select t.oldname from tablename t

where t.id=tr.id

);alter table tablename drop (oldname);

alter table tablename rename column newname to oldname;

當然如果需要修改的列沒有資料,那就簡單多。 

oracle庫表修改資料型別

1 重新命名要修改的欄位名,如colname改為mycolname,alter table tablename rename column colname to mycolname 2 在表中新增乙個原欄位名字 colname並把型別定義為自己想改變的資料型別 這裡是date資料型別 alter t...

Oracle 修改資料型別clob

怎麼樣將oracle資料庫表中字段的varchar2型別轉為clob型別 第一步,清空要操作的表 如有資料不能進行表結構的修改 sql truncate table sys category 第二步,先將操作的表中descript欄位,轉換成long,再將long型別轉成clob型別 不知為何不能直...

sql修改資料 oracle修改資料庫字符集

1.檢視資料庫字符集 資料庫伺服器字符集 select from nls database parameters 其 於props 是表示資料庫的字符集。客戶端字符集環境 select from nls instance parameters 其 於v parameter,表示客戶端的字符集的設定,...