首頁 >常見問題 >oracle如何改變列類型

oracle如何改變列類型

小老鼠
小老鼠原創
2023-07-11 15:38:524358瀏覽

oracle改變列類型的方法是:1、當欄位沒有資料或要修改的新型別和原型別相容時,可以直接modify修改;2、當欄位有資料並用要修改的新型別和原類型不相容時,要間接新建欄位來轉移。

oracle如何改變列類型

本教學操作環境:Windows7系統、Laravel5.7版、Dell G3電腦。

oracle如何改變列類型?

1、假設欄位資料為空,不管改為何欄位類型,可以直接執行:

alter table tb modify (name nvarchar2(20));

#2 、假設欄位有數據,則改為nvarchar2(20)可以直接執行:

alter table tb modify (name nvarchar2(20));

3、假設欄位有數據,則改為varchar2(40)執行時會彈出:“ORA-01439:要更改資料類型,則要修改的列必須為空”,這時要用下面方法來解決這個問題:

/*修改原始字段名稱name為name_tmp*/

alter table tb rename column name to name_tmp;

/*增加一個和原始字段名同名的字段name*/

alter table tb add name varchar2(40);

/*將原始欄位name_tmp資料更新到增加的欄位name*/

update tb set name=trim(name_tmp);

/*更新完,刪除原欄位name_tmp*/

alter table tb drop column name_tmp;

總結:

1、當欄位沒有資料或要修改的新類型和原類型相容時,可以直接modify修改。

2、當欄位有資料並用要修改的新型別和原型別不相容時,要間接新建欄位來轉移。

以上是oracle如何改變列類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn