oracle改變列類型的方法是:1、當欄位沒有資料或要修改的新型別和原型別相容時,可以直接modify修改;2、當欄位有資料並用要修改的新型別和原類型不相容時,要間接新建欄位來轉移。
本教學操作環境: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中文網其他相關文章!