程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> 關於Oracle數據庫 >> 詳解Oracle修改字段類型方法總結

詳解Oracle修改字段類型方法總結

編輯:關於Oracle數據庫

最近學習了Oracle修改字段類型方法,留做記錄。

有一個表名為tb,字段段名為name,數據類型nchar(20)。

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、當字段有數據並用要修改的新類型和原類型不兼容時,要間接新建字段來轉移。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved