如何在PL/SQL中修改ORACLE的欄位順序

來源:互聯網
上載者:User

標籤:

今 天下午工作中遇到的問題,我需要將A表中的資料放到它的備份表A_1中去,但A_1表中缺少兩個欄位,於是我就給它加上兩個欄位,但新加的欄位會預設排在 在最後面,與表A中的欄位順序不一致,那麼用insert into A_1 select * from A; 時就會出錯。

        當時用了一個笨方法,如下:

        --建立暫存資料表以儲存正確的順序

        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;

       =============

方法二:這種發放好像只有管理員才有修改的許可權

1.首先,以sys使用者的身份登入PL/SQL

        2.查詢出你要更改的表的ID,以我本地的資料為例,我要改‘FINACE‘使用者下‘INCOME‘這張表。註:ORACLE中的表要用大寫。

        select     object_id 

        from        all_objects

        where     owner = ‘FINACE‘ and

                        object_name = ‘INCOME‘ ;

 

  3.根據id去查詢該表中的欄位以及欄位序號

        select     obj#,col#,name

        from        sys.col$         

        where     obj#=73626; 

    for update

 

如何在PL/SQL中修改ORACLE的欄位順序

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.