如何改变oracle表结构列顺序

如果是RAC 的生产库环境,请谨慎尝试。要重启实例后生效。

该方法和我上一篇exchange特性,配合使用,效果更佳。

 

SQL> SELECT object_name,object_id FROM All_Objects WHERE owner='UNICOMCS_V3' AND object_name='ML_TEST';
 
OBJECT_NAME                     OBJECT_ID
------------------------------ ----------
ML_TEST                           1907609
 
SQL> SELECT obj#,col#,NAME FROM SYS.COL$ WHERE OBJ# =1907609;
 
      OBJ#       COL# NAME
---------- ---------- ------------------------------
   1907609          1 A
   1907609          2 B
 
SQL> --名字都可以改 NAME=?  位置顺序COL#=?
SQL> UPDATE SYS.COL$ SET col#=1,NAME='B' WHERE  OBJ# =1907609;

 

 

 

例子:

 

select * from user_objects where object_name = 'DATAK20_FWSXXB'

 

 

SELECT obj#,col#,NAME FROM SYS.COL$ WHERE OBJ# =78765;

 

 

 UPDATE SYS.COL$ SET col#=196 WHERE name='CREATE_DATE';

 UPDATE SYS.COL$ SET col#=197 WHERE name='CREATE_BY';

 UPDATE SYS.COL$ SET col#=198 WHERE name='UPDATE_DATE';

 UPDATE SYS.COL$ SET col#=199 WHERE name='UPDATE_BY';

 

 UPDATE SYS.COL$ SET col#=200 WHERE name='VER';

你可能感兴趣的:(如何改变oracle表结构列顺序)