zoukankan      html  css  js  c++  java
  • Oracle 修改字段顺序的两种方法

    分类: 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;
  • 相关阅读:
    vs2019 临时下载目录 离线安装 脱机安装
    直膝跳缓解腰椎间盘突出 腰疼 臀部肌肉疼痛
    fullscreen
    ubuntu 18.04 网络图标不见的问题解决方案
    采样率与比特率
    关于git的换行符问题
    在ASP.NET Core中使用EPPlus导入出Excel文件
    .net core 转 excel datatable list<t> 互转 xlsx
    .net core C# DataTable 和List之间相互转换的方法
    C# 的三种序列化方法
  • 原文地址:https://www.cnblogs.com/aipan/p/7147316.html
Copyright © 2011-2022 走看看