关闭

Oracle修改字段类型方法

标签: oracle数据数据库
5100人阅读 评论(0) 收藏 举报
分类:

有一个表名为tb,字段段名为name,数据类型是blog,要调整成数据类型nvarchar2(1024)。

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

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

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

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

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

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

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

0
0
查看评论

Oracle修改字段类型方法总结

Oracle修改字段类型 有一个表名为tb,字段段名为name,数据类型nchar(20)。 1、假设字段数据为空,则不管改为什么字段类型,可以直接执行: alter table tb modify (name nvarchar2(20)); 2、假设字段有数据,则改为nvarchar2(...
  • gdjlc
  • gdjlc
  • 2014-04-15 15:24
  • 151619

Oracle修改已有数据的字段类型

有一个表名为tb,字段段名为name,数据类型number(10,2)。 1、假设字段数据为空,则不管改为什么字段类型,可以直接执行: alter table tb modify (name nvarchar2(20)); 2、假设字段有数据,则改为number可以直接执行: alt...
  • dragonpeng2008
  • dragonpeng2008
  • 2016-07-08 09:29
  • 3961

oracle修改字段数据类型

最近项目中有这样一个变动,需要修改数据库中某个字段类型。但是,表中已经存在大量数据了。DML句:"alter table 表名 modify 字段名  新数据类型 " 只对空表起作用,当存在数据时,不允许修改。      下面介绍两种不删...
  • liusong0605
  • liusong0605
  • 2014-03-20 13:35
  • 1906

Oracle-不删表数据,修改字段类型

/*修改原字段名name为name_tmp*/ alter table VD_VEH_USE_APPLY_INFO rename column VEH_USER_JOB to VEH_USER_JOB_tmp; /*增加一个和原字段名同名的字段name*/ alter table ...
  • ZHOU_VIP
  • ZHOU_VIP
  • 2017-04-17 15:49
  • 1027

Oracle修改字段类型方法

oracle改一个字段的类型, 1、假设字段数据为空,则不管改为什么字段类型,可以直接执行: alter table tb modify (name nvarchar2(20)); 2、假设字段有数据,则改为nvarchar2(20)可以直接执行: alter table tb modi...
  • zhang523730519
  • zhang523730519
  • 2017-02-24 16:04
  • 116

oracle 语句修改字段类型

有一个表名为tbc,字段段名为name,数据类型nchar(20)。 1、假设字段数据为空,则不管改为什么字段类型,可以直接执行: alter table tbc modify (name nvarchar2(20)); 2、假设字段有数据,则改为nvarchar2(20)可以...
  • sdmxdzb
  • sdmxdzb
  • 2016-01-26 17:41
  • 268

Oracle:SQL语句--对表的操作——修改列的数据类型( 即 修改字段的数据类型)

– 修改列的类型 即 修改字段类型(未验证在有数据,并且互有主外键时,是否可用) –另外注意 此处 表 不能用 别名! 语法:alter table 表名 modify (字段名(即列名) 数据类型及长度);
  • u014455929
  • u014455929
  • 2016-08-30 23:27
  • 1687

oracle varchar2改成大字段类型clob,读取大字段内容

oracle varchar2改成大字段类型,如果varchar2内容
  • cai7095576
  • cai7095576
  • 2014-04-18 10:38
  • 4020

批量修改数据库字段类型(ORACLE)

批量修改数据库字段类型,批量修改数据库数据类型
  • niuch1029291561
  • niuch1029291561
  • 2017-02-10 17:03
  • 810

oracle 修改字段类型的方法

今天公司因为业务需要,修要修改某个字段数据类型有number(5),变为number(5,2)型 要是没有数据的话直接用以下语句即可 alter   table  tb_test  modify permile  number(5,2);...
  • yongzhen150
  • yongzhen150
  • 2014-01-13 19:44
  • 485
    个人资料
    • 访问:289361次
    • 积分:3611
    • 等级:
    • 排名:第10771名
    • 原创:51篇
    • 转载:17篇
    • 译文:0篇
    • 评论:6条
    最新评论