Oracle 之 表新增字段后修改字段顺序

Posted Now,DayBreak

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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语句来任意调整字段的顺序了。

以上是关于Oracle 之 表新增字段后修改字段顺序的主要内容,如果未能解决你的问题,请参考以下文章

oracle数据库的一个表中,怎么设置字段的默认值

Hive 修改表字段类型

Oracle 判断表或字段是否存在新增/修改表结构可重复执行sql

oracle数据库中怎么设置一个字段的唯一性

多次删除新增表后怎么恢复数据 oracle

oracle数据库中怎么设置一个字段的唯一性?