oracle 修改字段类型

转载 2017年10月06日 20:58:24
有一个表名为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修改字段类型

 例:有一个表名为t1,字段段名为deptno,数据类型NUMBER(2),想将改字段的数据类型修改为varchar2(20)。 1、假设字段数据为空,则不管改为什么字段类型,可以直接...

oracle修改字段类型,从number(2)改为number(2,1)

今天下午,自己做东西时,发现个小问题,当时建立数据表的时候,把course的course_credit字段建为了number(2)型,这导致了输入类似于:4.5时,精度丢失,打算改表字段的类型,可是该...

oracle变更数据表字段类型

  • 2014年02月26日 20:05
  • 6KB
  • 下载

利用代码修改数据库字段类型

  • 2012年11月27日 19:56
  • 4KB
  • 下载

Oracle数据库中关于日期和时间字段类型

与日期有关的有三种类型:date,timestamp与interval。DATE和TIMESTAMP类型存储精度可变的固定日期/时间,二者区别是,后者秒可以精确到小数,另外还可以有时区之分。。INTE...

处理Oracle XMLType字段类型不兼容的特殊字符

如何移除XMLType中的不兼容字符以能保存在oracle数据库中

oracle、SqlServer、mysql字段类型比较

最近在进行数据抽取的时候,设计到多个数据库,oracle、SqlServer、mysql。这个时候字段类型映射成了一个比较头疼的问题,所以想整理一下这三个常用数据库之间的字段类型比较。 1、常见类型...

Oracle 11g PL/SQL程序块,存储图片等BLOB字段类型的列PL/

Oracle 11g PL/SQL程序块,存储图片等BLOB字段类型的列 例如:把一个人的图片放入PERSON表的photo列中 一、在Oracle中创建,一个存储图片的目录逻辑,其与硬盘中的图片存储...

ORACLE的所有字段类型

http://space.itpub.net/7648593/viewspace-545486 字段类型            中文说明                               ...

oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息

通过搜索摸索,总结了一下oracle中查询表的信息,包括表名,字段名,字段类型,主键,外键唯一性约束信息,索引信息查询SQL如下,希望对大家有所帮助: 1、查询出所有的用户表 select *...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle 修改字段类型
举报原因:
原因补充:

(最多只允许输入30个字)