在oracle中,可以使用「alter table」語句來修改表格欄位類型,該語句的作用就是改變原始資料表的結構,語法「alter table 表名modify (欄位名稱新類型名稱); ”語句。
本教學操作環境:Windows7系統、Oracle 11g版、Dell G3電腦。
有一個表名為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;
--添加新的字段 alter table lyz_emp add(e_age number(3)); --添加多个新的字段 alter table lyz_emp add( e_age number(3), e_age_tmp,varchar2(20)); --获取表字段: select * from user_tab_columns where Table_Name='lyz_emp' order by column_name --删除表中的字段 alter table lyz_emp drop column e_age;
推薦教學:《Oracle教學》
以上是oracle怎麼修改表格欄位類型的詳細內容。更多資訊請關注PHP中文網其他相關文章!