IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉貼|軟件發(fā)布

您當前所在位置: 首頁數(shù)據(jù)庫Oracle → 在oracle中改變字段在表中的順序

在oracle中改變字段在表中的順序

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)

  用過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.

  SQL> update sys.col$ set name='MY_NAME',col#=1 where obj#=6067 and name='NAME';

  1 row updated.

  SQL> update sys.col$ set col#=2 where obj#=6067 and col#=3;

  1 row updated.

  SQL> commit;

  Commit complete.

  SQL> select * from scott.t1;

  ID NAME

  ---------- --------------------

  3 cheng

  2 yong

  1 xin

  2 gototop

  1 topcio

  2 yongxin

  1 cyx

  7 rows selected.

  SQL> shutdown immediate

  Database closed.

  Database dismounted.

  ORACLE instance shut down.

  SQL> startup

  ORACLE instance started.

  Total System Global Area 128159368 bytes

  Fixed Size 732808 bytes

  Variable Size 117440512 bytes

  Database Buffers 8388608 bytes

  Redo Buffers 1597440 bytes

  Database mounted.

  Database opened.

  SQL> select * from scott.t1;

  MY_NAME NEW_ID

  -------------------- ----------

  cheng 3

  yong 2

  xin 1

  gototop 2

  topcio 1

  yongxin 2

  cyx 1

  7 rows selected.

  到此為止我們已經(jīng)把SCOTT.T1表中的列名和順序都給該了,如果你只想改變順序而不想改變列名,只需再進行UPDATE就可以了,之所以不能一次完成是因為SYS.COL$中COL#,NAME都是UNIQUE的。

  這種方法雖然存在一定風險,但對于特別大的表效果是很明顯的,而用一般的方法將需要更多的存儲空間、回滾段和時間開銷。

  原文:http://202.101.18.235/club/bbs/showEssence.asp?id=22203

關鍵詞標簽:oracle

相關閱讀

文章評論
發(fā)表評論

熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實例的控制文件 誤刪Oracle數(shù)據(jù)庫實例的控制文件 為UNIX服務器設置Oracle全文檢索 為UNIX服務器設置Oracle全文檢索

相關下載

    人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法