如需轉載,請註明出處!
用過ORACLE的人都知道,要想在ORACLE中更改表格的列名和順序可是一件很煩瑣的事,下面給大家提供一種簡單的方法。
SQL> select object_id from all_objects where owner='SCOTT' and object_name='T1';
OBJECT_ID
----------
6067
SQL> select obj#,col#,name from sys.col$ where obj#=6067;
OBJ# COL#
---------- ---- ------
NAME
------------------------------------- -----------------------
6067 1
ID
6067 2
NAME
SQL> update sys.col$ set name='NEW_ID' ,col#=3 where obj#=6067 and name='ID';
1 row updated.
1 row updated.
SQL> update sys .col$ set name='MY_NAME',col#=1 where obj#=6067 and name='NAME';
1 row updated.
SQL> update sys.col$ setSQL col#=2 where obj#=6067 and col#=3;
1 row updated.
SQL> commit;
Commit complete.
Commit complete.
SQL> select * from scott.t1;
ID NAME
---------- --------------------
3 cheng
2 yong
1 xin
2 gototop
1 topcio
2 yongxin
1 cyx
7 SQLs selected. shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup
ORACLE Tonce started.
SQL> startup
ORACLE Tonce started.
SQL>> Fixed Size 732808 bytes
Variable Size 117440512 bytes
Database Buffers 8388608 bytes
Redo Buffers 1597440 bytes
MY_NAME NEW_ID
-------------------- ----------
cheng 3
yong 2
xin 1
gototop 2
topcio 1
yongxin 2
cyx 1
7 rows selected.