精华内容
下载资源
问答
  • 本篇文章主要介绍了Oracle修改字段类型方法总结,小编觉得不错,非常具有实用价值,有兴趣的可以了解一下。
  • Oracle修改字段类型

    2015-10-26 16:03:56
     ...1、假设字段数据为空,则不管改为什么字段类型,可以直接执行: alter table t1 modify (deptno varchar2(20)); 2、假设字段有数据,则改为varchar2(20)执行时会弹出错误: ERROR at
    

    例:有一个表名为t1,字段段名为deptno,数据类型NUMBER(2)想将改字段的数据类型修改为varchar2(20)

    1
    、假设字段数据为空,则不管改为什么字段类型,可以直接执行:
    alter table t1 modify (deptno varchar2(20));

    2
    、假设字段有数据,则改为varchar2(20)执行时会弹出错误:

    ERROR at line 1:

    ORA-01439: column to bemodified must be empty to change datatype

    这时要用下面方法来解决这个问题

    a
    、修改原字段名deptnodeptno_tmp
    alter table t1 rename column deptno to deptno_tmp;

    b
    、增加一个和原字段名同名的字段deptno,类型为varchar2(20)
    alter table t1 add deptno varchar2(20);

    c
    、将原字段deptno_tmp数据更新到增加的字段deptno
    update t1 set deptno=trim(deptno_tmp);

    d
    、更新完,删除原字段deptno_tmp
    alter table t1 drop column deptno_tmp;

    总结:
    1
    、当字段没有数据或者要修改的新类型和原类型兼容时,可以直接modify修改。
    2
    、当字段有数据并用要修改的新类型和原类型不兼容时,要间接新建字段来转移。

     

    下面附上操作步骤截图:

    t1表的表结构如下:

     

     

     

     

     

     

    t1表的查询结果如下,deptno字段不为空:

    直接使用modify修改字段类型报错

     

    采用上述方法修改字段类型

     

    经检验成功,字段类型从number变为varchar2,数据也完全一致

     

    展开全文
  • oracle修改字段类型

    千次阅读 2017-03-11 13:02:41
    1、假设字段数据为空,则不管改为什么字段类型,可以直接执行: alter table tb modify (name nvarchar2(20)); 2、假设字段有数据,则改为nvarchar2(20)可以直接执行: alter table tb modify (name nvarchar2...
    有一个表名为tb,字段段名为name,数据类型nchar(20)。
    

    1、假设字段数据为空,则不管改为什么字段类型,可以直接执行:
    alter table tb modify (name nvarchar2(20));

    2、假设字段有数据,则改为nvarchar2(20)可以直接执行:
    alter table tb modify (name nvarchar2(20));

    3、假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时要用下面方法来解决这个问题

    /*修改原字段名name为name_tmp*/
    alter table tb rename column name to name_tmp;

    /*增加一个和原字段名同名的字段name*/
    alter table tb add name varchar2(40);

    /*将原字段name_tmp数据更新到增加的字段name*/
    update tb set name=trim(name_tmp);

    /*更新完,删除原字段name_tmp*/
    alter table tb drop column name_tmp;

    总结:
    1、当字段没有数据或者要修改的新类型和原类型兼容时,可以直接modify修改。
    2、当字段有数据并用要修改的新类型和原类型不兼容时,要间接新建字段来转移。
    展开全文
  • Oracle修改字段类型和长度

    千次阅读 2018-11-13 08:38:41
    Oracle修改字段类型和长度

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow

    也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!

                   

    Oracle修改字段名

    alter table 表名 rename column 旧字段名 to 新字段名

    Oracle修改字段类型和长度

    alter table 表名 modify 字段名 数据类型

    如果是修改数据类型比如由varchar2修改为int且字段内有值,会报如下错误


    解决方法参考:http://blog.csdn.net/itmyhome1990/article/details/8681206


    出处:http://blog.csdn.net/itmyhome1990/article/details/38869647


               

    给我老师的人工智能教程打call!http://blog.csdn.net/jiangjunshow

    这里写图片描述
    展开全文
  • 转自:Oracle修改字段类型方法总结需求有一个表名为tb,字段段名为name,数据类型nchar(20),现需要将其修改为其他类型!方法1、假设字段数据为空,则不管改为什么字段类型,可以直接执行:alter table tb modify ...

    转自Oracle修改字段类型方法总结

    需求

    有一个表名为tb,字段段名为name,数据类型nchar(20),现需要将其修改为其他类型!

    方法

    1、假设字段数据为空,则不管改为什么字段类型,可以直接执行:

    alter table tb modify (name nvarchar2(20));

    2、假设字段有数据,则改为nvarchar2(20)可以直接执行:

    alter table tb modify (name nvarchar2(20));

    3、假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时要用下面方法来解决这个问题:

    --修改原字段名name为name_tmp
    alter table tb rename column name to name_tmp;
    
    --增加一个和原字段名同名的字段name
    alter table tb add name varchar2(40);
    
    --将原字段name_tmp数据更新到增加的字段name
    update tb set name=trim(name_tmp);
    
    --更新完,删除原字段name_tmp
    alter table tb drop column name_tmp;

    总结

    1、当字段没有数据或者要修改的新类型和原类型兼容时,可以直接modify修改。
    2、当字段有数据并用要修改的新类型和原类型不兼容时,要间接新建字段来转移。

    展开全文
  • Oracle修改字段类型方法总结

    万次阅读 多人点赞 2014-04-15 15:24:55
    Oracle修改字段类型 有一个表名为tb,字段段名为name,数据类型nchar(20)。 1、假设字段数据为空,则不管改为什么字段类型,可以直接执行: alter table tb modify (name nvarchar2(20)); 2、假设字段有数据,...
  • 转自:... 标准SQL修改字段类型和长度语句: ALTER TABLE tableName modify column columnName 类型; 例如Mysql的修改字段类型语句: alter table test modify column n
  • oracle 修改字段类型sql

    千次阅读 2018-09-20 09:55:19
    [code="java"] 1、创建备份表; create table bbs as select * from industry_catalogues ...3、修改字段类型; 手动修改 4、从备份表还原原表字段值; update industry_cata...
  • [Oracle基础]Oracle修改字段类型

    千次阅读 2018-06-06 16:43:01
    随着业务变更,对原有表就需要稍有变更去适配新的业务场景,增加字段、字段重命名、增加字段约束、修改字段类型等操作就无可避免了,本文的所有操作都经过测试。 假设,已有表名(tb),字段名(field1 VARCHAR2(4)...
  • Oracle修改字段类型方法

    千次阅读 2017-06-19 20:42:23
    1、假设字段数据为空,则不管改为什么字段类型,可以直接执行: alter table tb modify (name nvarchar2(1024));2、假设字段有数据,则改为varchar2(1024)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列...
  • Oracle 修改字段类型解决方法

    千次阅读 2013-08-12 13:05:04
    用于修改字段类型 并且 无数据状态下 alter table 表名 modify 列名 VARCHAR2(2000);---本方法只支持同类型间转换 如:( VARCHAR2(255)转成 VARCHAR2(2000) ); 由于需求变更所以需要将VARCHAR2(2000)改成clob...
  • 模拟情景,表:batchintfloadlog,要修改字段:resultinfo,字段 从原来的 varchar2 修改为 clob 1、假设要修改字段数值为空,则可以直接修改;​ 可是发现如下错误:​ SQL> alter ​table batchintfloadlog ...
  • Oracle修改字段类型Sql --ORA-01439

    千次阅读 2018-12-18 20:45:03
    1、假设字段数据为空,则不管改为什么字段类型,可以直接执行: alter table tb modify (name nvarchar2(40)); 2、假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须...
  • 如果要修改表的一个字段 数据类型,若表里有数据了,oracle是不能修改,需清空表才行。 若不想清空表的数据,则可通过以下方案: 先对表数据进行备份表,再删除表数据,修改表结构,将备份表数据重插回原表中,最后...
  • 1、假设字段数据为空,则不管改为什么字段类型,可以直接执行: alter table tb modify (name nvarchar2(20)); Oracle数据库中 comment (注释) 修改方法:字段注释。 comment on column 表名.字段名 is '...
  • 一、如果表中没有数据可以直接修改: --声明变量存储要查询的表中的列是否存在 declare columnExistedCount number; begin --从系统表中查询表中的列是否存在 select count(1) into columnExistedCount from user_...
  • 本来该字段使用varchar2(4000),但还是长度不够,需要修改字段类型为clob 1.开始尝试直接把varchar2修改为clob alter table coupontype modify USE_STORE_CODE clob; 提示:数据类型变更无效 2.先新建clob类型的字段...
  • 修改字段类型为clob类型。(增加clob临时字段->复制原字段值->删除原字段->修改临时字段名为原字段名) 执行命令:alter table BOSP_HTJS_BG_CONTRACT_INFO modify BG_EXPLAIN CLOB; oracle版本问题,即使没...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 108,168
精华内容 43,267
关键字:

oracle修改字段类型