oracle数据库调整字段顺序

声明:本例以oracle自带的数据库,修改表EMP中SAL的位置。原表SAL为第6列,但是删除之后,再次添加,直接添加到表字段的最后,为保证与原表一致,故百度,参照前辈经验,进行修改,留此备份,以备不时之需。

一、以sys身份登录(以DOS窗口为基础)

sqlplus / as sysdba
二、查询需要修改表的ID。

select object_id

  from all_objects

  where owner = 'SCOTT' and

  object_name = ‘EMP' ;
注意:owner 是该表的位置,在SCOTT下面,注意要大写;
object_name 为要修改表的名字,注意要大写。此处大写,是因为oracle自带的就是大写,虽然写语句的时候,用小写,可以执行,但是在此处,要与原表名一致。

三、根据第二步查询的id去查询该表中的字段以及字段序号。

select obj#,col#,name

  from sys.col$

  where obj#=74726;
四、修改表的字段顺序

update sys.col$ set col#=6 where obj#=74726 and name='SAL';

update sys.col$ set col#=7 where obj#=74726 and name='COMM';

update sys.col$ set col#=8 where obj#=74726 and name='DEPTNO';
五、commit提交,并重启oracle服务器。

六、第二种方法,直接暴力删除原表,然后重新建表。



你可能感兴趣的:(oracle)