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語句來任意調整字段的順序了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM