精华内容
下载资源
问答
  • Oracle修改字段位置

    千次阅读 2020-04-23 15:12:11
    方法一、 删除表,重新建表 方法二、《需要重启数据库》 1.查询出该表的 object_id select object_id from all_objects ...2.根据第一步查出的ID,查询表字段顺序的存储 select obj#, c...

    方法一、

    删除表,重新建表

    方法二、《需要重启数据库》

    1.查询出该表的  object_id   

    select object_id
     from all_objects
     where owner = 'SCOTT'
     and object_name = 'TESTS';

     查询结果为:  74101

    2.根据第一步查出的ID,查询表字段顺序的存储

     select obj#, col#, name 
     from sys.col$ 
     where obj# = '74101' order by col#

    查询结果如下: 

       OBJ#COL#NAME
    1741011SBDJXH
    2741012LRR
    3741013JFRSBH
    4741014XH
    5741015XX

     

     

     

     

     

     

     

    3.然后更新数据就可以了   所有的都要更新一遍  方法感觉有点笨

     update sys.col$ set col#='2' where obj# = '74101' and name ='LRR'

    4.重启数据库 才能生效

     

     

     

     

    展开全文
  • Oracle修改字段顺序

    2013-12-12 11:21:22
    Oracle Pl/SQL 修改各字段显示的顺序
  • oracle 调整字段顺序

    千次阅读 2017-07-17 22:52:05
    change 字段名 新字段字段类型 默认值 after 字段名(跳到哪个字段之后)),oracle 必须另辟蹊径,曲线救国。 场景描述:假设我们有一张表名为test,该表有三个字段,依次为col1、col2、col3,现在我们想新增一个...

    不像mysql可以直接一条sql搞定(alter table 表名
    change 字段名 新字段名 字段类型 默认值 after 字段名(跳到哪个字段之后)),oracle 必须另辟蹊径,曲线救国。
    场景描述:假设我们有一张表名为test,该表有三个字段,依次为col1、col2、col3,现在我们想新增一个字段col4,并把col4放到最前面,即我们希望调整后的字段顺序为col4、col1、col2、col3。总结下来方法有三种:

    方法一

    笔者认为这是最安全保守的一种方法,就是用create table as select 重建新表,此方法适用于表中数据量不大的情况,若表中已经存在了大量数据,则本操作对空间的要求可能就很大了。详细操作如下:

    ALTER TABLE test ADD col4 varchar2(5);
    ALTER TABLE test RENAME TO test_bk;
    CREATE TABLE test AS SELECT col4,col1,col2,col3 FROM test_bk;

    方法二

    对于表中存在大量数据,并且空间有限的情况,就需要通过直接操作数据字典来实现字段顺序的调整;该方法需要系统管理员权限sys或者 as sysdba。详细操作如下:

    select object_id from all_objects where object_name='TEST';或者
    select object_id from obj where object_name='TEST';取得表TEST的object_id;假设为51234
    select obj#,col#,name from sys.col$ where obj#=51234 order by col#;查看当前字段顺序
    update sys.col$ set col#=1 where obj#=51234 and name='COL4';
    update sys.col$ set col#=col#+1 where obj#=51234 and name!='COL4';
    COMMIT;
    SHUTDOWN IMMEDIATE; 
    STARTUP; 

    切记本方法需要重启数据库生效!

    方法三

    该方法的本质实际上也是操作数据字典,但是不需要dba权限,并且此方法仅适用于12c以上版本。

    select * from v$version where rownum=1; //12C以上版本可用invisible
    ALTER TABLE  test  MODIFY( COL1 INVISIBLE, COL2 INVISIBLE, COL3 INVISIBLE);
    SELECT column_name, column_id FROM user_tab_cols  WHERE table_name = 'TEST' order by 2;
    ALTER TABLE test  ADD ( COL4 VARCHAR2(5));
    SELECT column_name, column_id FROM user_tab_cols  WHERE table_name = 'TEST' order by 2;
    ALTER TABLE  test  MODIFY( COL1 VISIBLE, COL2 VISIBLE, COL3 VISIBLE);
    展开全文
  • 之前使用mysql时,如果需要调整字段的顺序,可以使用Navicat客户端直接拖动要调整的字段至需要的位置即可。如果使用的是Oracle数据库,不管是用Natvicat还是使用PL SQL客户端,拖动字段顺序并不能调整字段的顺序,...

    之前使用mysql时,如果需要调整字段的顺序,可以使用Navicat客户端直接拖动要调整的字段至需要的位置即可。如果使用的是Oracle数据库,不管是用Natvicat还是使用PL SQL客户端,拖动字段顺序并不能调整字段的顺序,正确的方法是使用SQL来调整。具体方法是:
    1、使用oracle自带的sys、system等账号登录PL SQL等客户端
    2、执行如下SQL查询出想调整字段顺序的表格的id

    select object_id
      from all_objects
     where owner = 'Jim'
       and object_name = 'mytable';
    

    以上Jim为表格归属的用户名,mytable为需要调整字段顺序的表格名,需替换为自己的

    3、执行以下SQL查询出表中各字段的顺序,其中SQL中的80105为执行第一段SQL出查出的表的id:

    select obj#, col#, name 
       from sys.col$ 
     where obj# = '80105' order by col#;
    

    ,各字段的顺序如下
    在这里插入图片描述
    4、执行SQL,调整字段的顺序,如需将第12行COL为10的AREACODE调整到第5列的顺序,只需执行如下SQL即可,

    update sys.col$ set col#=5 where obj#=80105 and name='AREACODE';
    
    
    可能有人会觉得我表中COL怎么有重复的,那是因为这是调整后截的图。
    
    5、最后commit提交 并且重启Oracle服务```
    
    
    展开全文
  • Oracle数据库中,表中已存在数据字段修改该字段的长度,如有疑问可沟通联系,当积分自动提升到很高的时候欢迎联系,会把积分调低。
  • oracle数据库调整字段顺序

    万次阅读 2017-09-08 11:05:27
    声明:本例以oracle自带的数据库,修改表EMP中SAL的位置。原表SAL为第6列,但是删除之后,再次添加,直接添加到表字段的最后,为保证与原表一致,故百度,参照前辈经验,进行修改,留此备份,以备不时之需。 一、以...

    声明:本例以oracle自带的数据库,修改表EMP中SAL的位置。原表SAL为第6列,但是删除之后,再次添加,直接添加到表字段的最后,为保证与原表一致,故百度,参照前辈经验,进行修改,留此备份,以备不时之需。

    一、以sys身份登录(以DOS窗口为基础)

    sqlplus / as sysdba
    二、查询需要修改表的ID。

    select object_id
    
      from all_objects
    
      where owner = 'SCOTT' and
    
      object_name = ‘EMP' ;
    注意:owner 是该表的位置,在SCOTT下面,注意要大写;
    object_name 为要修改表的名字,注意要大写。此处大写,是因为oracle自带的就是大写,虽然写语句的时候,用小写,可以执行,但是在此处,要与原表名一致。

    三、根据第二步查询的id去查询该表中的字段以及字段序号。

    select obj#,col#,name
    
      from sys.col$
    
      where obj#=74726;
    四、修改表的字段顺序

    update sys.col$ set col#=6 where obj#=74726 and name='SAL';
    
    update sys.col$ set col#=7 where obj#=74726 and name='COMM';
    
    update sys.col$ set col#=8 where obj#=74726 and name='DEPTNO';
    五、commit提交,并重启oracle服务器。

    六、第二种方法,直接暴力删除原表,然后重新建表。



    展开全文
  • Oracle调整字段顺序

    2020-01-08 14:06:57
    由于使用导入excel的方法建表及插入表数据,导致id列在最后面,展示效果不友好,因此将id调整到第一列; 1. 复制原表数据; create table 备份表名as select * from 原表名; 2. 删除原表; drop table 原表名; ...
  • oracle调整字段精度的四种方法

    千次阅读 2020-09-15 21:18:10
    oracle调整字段精度的四种方法: 01_执行用户_ddl/dml_表名_注释(建表/授权/同义词) 调整方式一:(精度只能调大不能调小) alter table table_name_a MODIFY (column_AXX number(27,15)); 调整方式二:...
  • ORACLE修改字段大小过程分析

    千次阅读 2020-08-26 21:26:44
    --使用oracle server自带的tkprof工具解析trace文件 tkprof /U01/app/oracle/diag/rdbms/s3megdb/megdb/trace/megdb_ora_9236.trc /home/oracle/alter_test.log --查看解析后的日志内容如下: 可以看到表上加了一个...
  • oracle数据库利用plsql调整字段顺序

    千次阅读 2019-07-31 15:11:04
    1.Ctrl+鼠标单击表名。 2.进入表详情,点击重建表。 3.进入列选项 4.先选中列(字段),然后鼠标单击不放,移动就可以了。 5.调好顺序,点击下方应用,完成。 ...
  • ORACLE数据库调整字段顺序

    千次阅读 2017-09-07 22:49:08
    本文主要介绍如何调整表结构字段的顺序
  • 修改Oracle数据库表中的字段顺序

    万次阅读 2017-04-21 18:00:52
    当设计好表结构之后,后期如果需要往表中增加字段,默认会把该字段放到表的最后, 并且字段特别多而我们又想把有关联性的字段放在一起,这时就要修改字段顺序。 第一种方法: 删了重建,这种方法虽然简单粗暴,但...
  • 在11g版本中Oracle是不支持调整表字段顺序的,而在更高的版本则可以直接调整字段顺序。 这里我们需要做的就是在保持原表数据完整的情况下,调整字段顺序。 1、我们重新建一个临时表存放表数据,我们的原表名是...
  • Oracle 修改字段长度

    千次阅读 2019-10-25 19:41:32
    alter table 表名 modify字段名 varchar2(4000));
  • Oracle 之 表新增字段后修改字段顺序

    千次阅读 2019-02-13 11:14:48
    工作中遇到:在为一个表新增字段后,新增字段在最后,想调整新增字段位置。  1、原始方法: --新建临时表以存储正确的顺序 create table A_2 as select (column1,colum2,……A表中的顺序) from A_1 ; --删除...
  • oracle某个表增加或者删除字段,再调整字段顺序,操作参考 2019-03-14 1000 星期四 enAn -- 2019-03-14 0933 星期四 复制表结构和数据,增加数据 --正式表 wsdl_log select * from wsdl_log; -- 创建备份表wsdl_log_int...
  • 分类: Oracle 如果要修改字段顺序,一般情况可以使用以下步骤: --(1)备份目标表数据 create table 临时表 as select * from 目标表; --(2)drop 目标表 drop table 目标表; --(3)再重新按照要求的...
  • 想要调整字段顺序非常不容易,网上的方法竟然都是备份表之后删除再重建,这样整的话不是麻烦而是忒麻烦。查找了一些资料,发现有办法可以解决,而不用那么大费周章,如果更改的话需要SYS的权限,废话少说了
  • oracle修改字段长度

    2020-04-09 16:09:29
    alter TABLE STUDENT modify(NAME VARCHAR2(100)); alter TABLE STUDENT modify(NAME VARCHAR2(100),ADDRESS VARCHAR2(500));
  • Oracle修改字段类型方法总结

    万次阅读 2019-07-03 20:22:27
    1、假设字段数据为空,则不管改为什么字段类型,可以直接执行: alter table tb modify (name nvarchar2(20)); 2、假设字段有数据,则改为nvarchar2(20)可以直接执行: alter table tb modify (name nvarchar2(20));...
  • 调整oracle表中字段显示顺序

    千次阅读 2019-01-02 09:15:43
    调整oracle表中字段显示顺序 2018年05月11日 11:51:48 just_for_that_moment 阅读数:223  版权声明:如需转载,请标明出处。 https://blog.csdn.net/just_for_that_moment/article/details/80279483 1、查询...
  • 增加字段的语句很简单,以用户身份连接oracle服务: alter table tablename add(colname coltype); # 填上表名、字段名、字段类型 修改字段顺序前,查看表中各字段的顺序:  首先,查看表对应的id: ...
  • 你还为编程时由于字段顺序而造成的不便而感到烦恼吗?以前的话,就要重新建表,现在有了它,你可以轻松解决了,字段顺序随你修改....
  • Oracle表新增字段后修改字段顺序

    千次阅读 2018-02-08 21:25:58
     工作中遇到:在为一个表新增字段后,新增字段在最后,想调整新增字段位置。 1、原始方法:--新建临时表以存储正确的顺序 create table A_2 as select (column1,colum2,……A表中的顺序) from A_1 ;--删除表A...
  • Navicat没有表栏位上移下移,所以只能使用一些小手段 如下图需要将AGE移到ID的下面 将这两列复制粘贴到底部再删除就好了
  • create table MyTable_bak as select * from MyTable; delete from MyTable; alter table MyTable modify Price NUMBER(24,4); insert into MyTable select * from MyTable_bak; drop table MyTable_bak;
  • 假设我们要修改order表中的total字段的精度 当字段可为空时 alter table order modify (total NUMBER(24,4) NOT NULL); 当字段可以有默认值时,即给了默认值不会影响业务 下面给出线上实际写法,假如该表有千万...
  • 修改 Oracle 字段排序

    千次阅读 2018-09-08 11:11:45
    --修改 Oracle 字段排序 select object_id from all_objects where owner='TIE_JXMG' and object_name='OMS_EMPLOYEE'; select obj#,col#,name from sys.col$ where obj#=78129 order by col#; -- update sys....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 39,043
精华内容 15,617
关键字:

oracle调整字段位置