当前位置:Gxlcms > 数据库问题 > Oracle 之 表新增字段后修改字段顺序

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

时间:2021-07-01 10:21:17 帮助过:10人阅读

  1. --新建临时表以存储正确的顺序
  2. create table A_2 as select (column1,colum2,……A表中的顺序) from A_1 ;
  3. --删除表A_1
  4. drop table A_1;
  5. --新建A_1并从A_2表中赋予其正确的顺序和值
  6. create table A_1 as select * from A_2;
  7. --删除临时表A_2
  8. drop table A_2;
技术图片

  这种方法对字段较少的表来说还不会显得太麻烦,但是对于字段较多的表来说就吃力了。

2、利用系统数据库

  [1] 首先,以sys用户的身份登录PL/SQL

      [2] 查询出你要更改的表的ID,以我本地的数据为例,我要改‘FINACE‘用户下‘INCOME‘这张表。注:ORACLE中的表要用大写。

  1. select object_id
  2. from all_objects
  3. where owner = ‘FINACE‘ and object_name = ‘INCOME‘ ;

        得到INCOME这张表的i,如图所示:

  技术图片

      [3] 根据id去查询该表中的字段以及字段序号

  1. select obj#,col#,name
  2. from sys.col$
  3. where obj#=73626;

        结果如下图所示:

  技术图片

      [4] 第二列便是字段的序号,就可以用update语句来任意调整字段的顺序了。

SQL示例:

    

update sys.col$
set col# = decode(name,
‘CODE‘,
1,
‘MESSAGE‘,
2,
‘INFO‘,
3,
‘ORACLE_USER‘,
4,
‘ERROR_DATE‘,
5)
where obj# = (select object_id
from all_objects a
where owner = ‘EMPTRAIN‘
and object_name = upper(‘SYS_ERROR_LOG‘))

 

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

标签:mamicode   http   遇到   利用   drop   .com   from   sql   set   

人气教程排行