在ORACLE中給已有數據的表增加、修改、刪除一個字段(或一個列)或者多個字段(或多個列)的問題

使用數據庫爲Oracle

因爲在將數據從歷史表導入當前表時,因字段個數不對,導致不能導數據。

一、將歷史表的字段增加一個或者多個的SQL語句。

1、增加一個字段:(增加字段時,只能排在已有字段的後面,不能插到已有字段之間)

Alter Table t_app_si_addr_12 Add CHG_ADDR_FLAG varchar2(2);

Alter Table 表名 Add 字段名稱  字段類型;

2、增加兩個字段;

Alter Table t_app_si_addr_12 Add (CHG_ADDR_FLAG varchar2(2),ADD_IP_BY_IOM Varchar2(2));

Alter Table 表名 Add (字段名稱  字段類型,字段名稱  字段類型);

注意:在SQL server中增加多個字段,不需要加括號。

二、修改一個字段:

create table t_od_test1017(id number(2),name varchar2(4),test varchar2(10));
select a.*,a.rowid from t_od_test1017 a;
1、修改字段的類型或長度:

alter table t_od_test1017 modify (test3 number(32));--修改字段類型或長度。

Alter Table 表名  modify (字段名稱  (新的)字段類型);

注意:當此列有數據時,不能將字段的長度減小,只能增加長度。

2、修改字段的名稱:
alter table t_od_test1017 rename column  test3 to  new_test3;

Alter Table 表名 rename  column (舊的)字段名稱  to (新的)字段名稱;

在SQL server中,以上語句不行,已經實測。

正確的命令是:exec sp_rename '[BB].[OldCol]','NewCol' 

-- 注意逗號後面,沒有表名,沒有點號,沒有方括號,執行這句,才能得到你想要的結果“NewCol”,

三、刪除一個字段:

alter table t_od_test1017 drop column test2;

alter table t_od_test1017 drop column 字段名稱;

注意:刪除字段時候,保證此字段下沒有數據。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章