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

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

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

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

  用過(guò)ORACLE的人都知道,要想在ORACLE中更改表的列名和順序可是一件很煩瑣的事,下面給大家提供一種簡(jiǎn)單的方法。

  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表中的列名和順序都給該了,如果你只想改變順序而不想改變列名,只需再進(jìn)行UPDATE就可以了,之所以不能一次完成是因?yàn)镾YS.COL$中COL#,NAME都是UNIQUE的。

  這種方法雖然存在一定風(fēng)險(xiǎn),但對(duì)于特別大的表效果是很明顯的,而用一般的方法將需要更多的存儲(chǔ)空間、回滾段和時(shí)間開(kāi)銷(xiāo)。

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

關(guān)鍵詞標(biāo)簽:oracle

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

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

相關(guān)下載

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