如何處理oracle數據庫新增列後順序的問題

 工作中遇到:在爲一個表新增字段後,新增字段在最後,想調整新增字段的位置。

  1、原始方法:

--新建臨時表以存儲正確的順序 create table A_2 as select (column1,colum2,……A表中的順序) from A_1 ; --刪除表A_1 drop table A_1; --新建A_1並從A_2表中賦予其正確的順序和值 create table A_1 as select * from A_2; --刪除臨時表A_2 drop table A_2;

 

  這種方法對字段較少的表來說還不會顯得太麻煩,但是對於字段較多的表來說就吃力了。

  2、利用系統數據庫

  [1] 首先,以sys用戶的身份登錄PL/SQL

      [2] 查詢出你要更改的表的ID,以我本地的數據爲例,我要改'FINACE'用戶下'INCOME'這張表。注:ORACLE中的表要用大寫。

select object_id from all_objects where owner = 'FINACE' and object_name = 'INCOME' ;

        得到INCOME這張表的i,如圖所示:

  

      [3] 根據id去查詢該表中的字段以及字段序號

select obj#,col#,name from sys.col$ where obj#=73626; 

        結果如下圖所示:

  

      [4] 第二列便是字段的序號,就可以用update語句來任意調整字段的順序了。

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