zoukankan      html  css  js  c++  java
  • 如何在PL/SQL中修改ORACLE的字段顺序

    今 天下午工作中遇到的问题,我需要将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

  • 相关阅读:

    bzoj3052: [wc2013]糖果公园
    莫队算法心得
    bzoj1104: [POI2007]洪水pow
    bzoj1102: [POI2007]山峰和山谷Grz
    bzoj1121: [POI2008]激光发射器SZK
    bzoj1113: [Poi2008]海报PLA
    bzoj1103: [POI2007]大都市meg
    bzoj1396: 识别子串
    bzoj3756: Pty的字符串
  • 原文地址:https://www.cnblogs.com/wushuishui/p/5129427.html
Copyright © 2011-2022 走看看