分类: Oracle

如果要修改字段顺序,一般情况可以使用以下步骤:
--(1)备份目标表数据
create table 临时表 as select * from 目标表;
--(2)drop 目标表
drop table 目标表;
--(3)再重新按照要求的字段顺序建表;
create table 临时表 (col1,................coln);
--(4)之后用select将数据从临时表导回。
 
此外,还可以通过修改sys的数据字典来实现。
以下是自己的亲身测试记录
--第1步 创建测试表
create table TEST (A VARCHAR2(10),B VARCHAR2(10),C VARCHAR2(10),D VARCHAR2(10));
 
--第2步 查询出表的id,注意:owner和object_name的值要大写
--DBA用户使用
select object_id from all_objects where owner='CHINAJFK' and object_name='TEST';--本例结果为52206
--表归属用户可以使用
select object_id from obj where object_name='TEST';--本例结果为52206
 
--第3步 通过id查出该表所有字段的顺序
select obj#,col#,name from sys.col$ where obj#=52206 order by col#;
 
--第4步 更新字段顺序,需要sys用户或是System用户 as sysdba登录,或是其他拥有sysdba权限的用户,但是这里的操作一定要小心。
--(1)更新目标字段的col#
update sys.col$ set col#=4 where obj#=52206 and name='A';
--(2)更新受影响字段的col#,自己根据情况自己组织语句
update sys.col$ set col#=col#-1 where obj#=52206 and name!='A';
--(3)提交
commit;
 
--第5步 重启Oralce服务
 
--第6部 检查是否生效
select obj#,col#,name from sys.col$ where obj#=52206 order by col#;
select * from chinajfk.test;

Oracle 修改字段顺序的两种方法的更多相关文章

  1. oracle rename数据文件的两种方法

    oracle rename数据文件的两种方法 2012-12-11 20:44 10925人阅读 评论(0) 收藏 举报  分类: oracle(98)  版权声明:本文为博主原创文章,未经博主允许不 ...

  2. oracle 创建字段自增长——两种实现方式汇总

    mysql等其他数据库中有随着记录的插入而表ID自动增长的功能,而oracle却没有这样的功能,我们有以下两种方式可以解决字段自增长的功能. 因为两种方式都需要通过创建序列来实现,这里先给出序列的创建 ...

  3. oracle 创建字段自增长——两种实现方式汇总(转)

    mysql等其他数据库中有随着记录的插入而表ID自动增长的功能,而oracle却没有这样的功能,我们有以下两种方式可以解决字段自增长的功能. 因为两种方式都需要通过创建序列来实现,这里先给出序列的创建 ...

  4. Oracle导出DMP文件的两种方法

    本文转载自:http://www.cnblogs.com/o-andy-o/archive/2013/06/05/3118611.html   导出: 方法一:利用PL/SQL Developer工具 ...

  5. jsp——js事件修改属性样式的两种方法(直接赋值、修改属性)、验证表单符合某要求、阻止表单提交、告诉浏览器不要缓存

    代码 <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncodi ...

  6. MySQL学习笔记(2) - 修改MySQL提示符的两种方法

    学习于慕课网 http://www.imooc.com/video/1806 1.方法一: cmd中处于未登录状态时,输入 mysql -uroot -p自己的密码 --prompt 新的提示符 示例 ...

  7. Golang修改json文件的两种方法

    第三方包 go get -u github.com/tidwall/sjson bytes, _ := ioutil.ReadFile(jsonFile) value1, _ := sjson.Set ...

  8. 帝国 cms 修改登录次数的两种方法

    1.找到数据库表 注:我把这里的5改成50了. 2.找打e ==>> config ==>>  config.php ==>> loginnum的5修改一下即可

  9. Oracle中spool命令实现的两种方法比较

    ---恢复内容开始--- 要输出符合要求格式的数据文件只需在select时用字符连接来规范格式.比如有如下表 SQL>; select id,username,password from myu ...

随机推荐

  1. 使用jQuery+huandlebars遍历数组

    兼容ie8(很实用,复制过来,仅供技术参考,更详细内容请看源地址:http://www.cnblogs.com/iyangyuan/archive/2013/12/12/3471227.html) & ...

  2. 23.week4

    调通了 剩下的就是核心的部分

  3. mysql如何出查出最近7天,最近30天,最近n天的记录?

    已查询浏览量为例:原始数据如下: 思路分析:数据有了,统计某一天的浏览量,所有浏览量,或固定时间段内的浏览量在这里我们就不多说了,大家都会,那我们是如何将最近七天的数据统计出来呢? 首先,我们说的最近 ...

  4. ArcGIS案例学习笔记2_2_模型构建器和山顶点提取批处理

    ArcGIS案例学习笔记2_2_模型构建器和山顶点提取批处理 计划时间:第二天下午 背景:数据量大,工程大 目的:自动化,批处理,定制业务流程,不写程序 教程:Pdf/343 数据:chap8/ex5 ...

  5. Resize CentOS Linux hard drive partition (centos 6.3 调整LVS磁盘大小)

    查看当前磁盘信息: [root@localhost ~]# df -h 文件系统          容量  已用  可用 已用%% 挂载点/dev/mapper/VolGroup-lv_root    ...

  6. spring boot 项目配置字符编码

  7. unity3d API知识点随记

    1.transform.translate是增加transform面板相应的数值x,y,z是以本地坐标系为方向:transform.transformdirection是以世界坐标系为方向,可以去测试 ...

  8. LinQ to sql简介及增删改查

    Linq to sql 类 LinQ它就是一个集成化的数据库访问类,它会自动生成许多原本需要我们自己创建的东西: 它和ADO.NET是一样的东西,都是为了访问数据库而出现的,EF框架 一.创建LinQ ...

  9. ADO.Net 数据库修改

    数据库的修改方法和增加一样,只是把增加语句换成了修改语句,后面执行语句是相同的 首先也是需要获取并接收输入的要修改的哪个数据以及修改后的数据 代码演示: using System; using Sys ...

  10. jquery 中attr()的一个用法

    html 如下: <ul><li><img src="./img/addface_icon.png" alt="">< ...