調整oracle相應表的字段順序


一、方法一:修改基表(不推薦)

1、以sys用戶身份登錄

2、查出要更改順序的表的ID

SELECT OBJECT_ID FROM ALL_OBJECTS WHERE OWNER='CMH' AND OBJECT_NAME='ATEST';
--用戶CMH
--修改的表ATEST

3、根據ID去查詢該表中的字段以及字段順序

SELECT OBJ#,COL#,NAME FROM SYS.COL$ WHERE OBJ#=114408;

4、利用UPDATE去調整字段順序

UPDATE SYS.COL# SET COL#=2 WHERE NAME='DAY_CODE';
UPDATE SYS.COL# SET COL#=1 WHERE NAME='BUSS_MONTH';
--將DAY_CODE(原是第一個位置)和BUSS_MONTH(原是第二個位置)調整順序

注意:要以管理員身份登錄才能修改SYS.COL#表,否則會出現權限不足。且不推薦這種方法,因為可能會造成系統故障。

 

二、方法二:重新建表(不推薦)

RENAME ATEST TO BTEST;
CREATE TABLE ATEST AS SELECT BUSS_MONTH,DAY_CODE FROM BTEST;
--查詢時將字段順序調換,再修改索引、約束修改,因為這樣建表並不會建立索引及約束

 

三、方法三:使用12C版本

--在12C里面可以根據invisible、visible特性來修改順序
ALTER TABLE ATEST MODIFY(DAY_CODE,INVISIBLE)
--這個語句可以將DAY_CODE設置為不可見
ALTER TABLE ATEST MODIFY(DAY_CODE,VISIBLE)
----這個語句可以將DAY_CODE設置為可見,且位置放在最后

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM