首页 > 技术文章 > oracle修改某个表的字段顺序

adamgq 2018-04-24 18:30 原文

有时候会发现某个表的列顺序不理想,想修改

-1查询表,

select * from AIRWAY_TYPE t

 

--2 查询用户和表名,找到obj#,
select object_id from all_objects where owner='NAIP2017_05' and object_name='AIRWAY_TYPE';

 

--3 列出序号和名字
SELECT OBJ#,COL#,NAME FROM SYS.COL$ WHERE OBJ#='71482' ORDER BY COL#;

我想把第3列AIRWAY_TYPE_NAME和第2列AIRWAY_TYPE_CODE对调

--必须使用sys权限才能执行
UPDATE SYS.COL$ SET COL#=2 WHERE OBJ#=71482 AND NAME='AIRWAY_TYPE_NAME';
UPDATE SYS.COL$ SET COL#=3 WHERE OBJ#=71482 AND NAME='AIRWAY_TYPE_CODE';

 

--查询表,无变化。执行完成后重启oracle服务,
select * from AIRWAY_TYPE t;

推荐阅读