Oracle 表中有数据的情况下 字段更改数据类型
2012-05-29 11:07
330 查看
原表为Enterprise ,将其主键enterpriseid 的number类型替换为varchar(21)
方法一:
create table enterprise1 as
select * from enterprise where 1=2;
alter table enterprise1 modify(enterpriseid varchar2(21));
insert into enterprise1 select * from enterprise ;
drop table enterprise;
rename enterprise1 to enterprise ;
这样做数据不会丢失,但会丢失主键、index,字段注释,表名注释 以及相应的触发器
方法二为
新建一个字段 如enterpriseid1,类型为varchar2(20),存储原主键的值,然后修改回原主键字段名
这样做会丢失主键 约束等
Update enterprise set enterpriseid1=g||enterpriseid ;
方法一:
create table enterprise1 as
select * from enterprise where 1=2;
alter table enterprise1 modify(enterpriseid varchar2(21));
insert into enterprise1 select * from enterprise ;
drop table enterprise;
rename enterprise1 to enterprise ;
这样做数据不会丢失,但会丢失主键、index,字段注释,表名注释 以及相应的触发器
方法二为
新建一个字段 如enterpriseid1,类型为varchar2(20),存储原主键的值,然后修改回原主键字段名
这样做会丢失主键 约束等
Update enterprise set enterpriseid1=g||enterpriseid ;
相关文章推荐
- 不删除Oracle中数据的情况下,改字段类型
- 在有数据的情况下更改字段类型
- oracle 在表中有数据的情况下修改表字段类型或缩小长度
- Oracle中在已有数据的表中更改字段类型(四步)
- oracle 在表中有数据的情况下修改表字段类型或缩小长度
- oracle 在表中有数据的情况下修改表字段类型或缩小长度
- 修改oracle数据带有数据字段的数据字段的类型
- oracle修改字段类型时报"要更改的列必须为空"处理方法
- Oracle查询所有的字段数据类型
- Oracle 数据库换数据库字段的数据类型
- Oracle将某varchar2类型的字段改为blob类型时,报错:ORA-22858: 数据类型的变更无效
- SqlServer不允许更改字段类型(表中已有数据)
- Oracle 数据字典(可用它动态获取字段名、长度、类型等)
- ORACLE判断哪儿儿写数据字符串类型字段不能转换成日期格式
- ORACLE中将一列已有数据的字段类型进行改变的解决方案
- Oracle:SQL语句--对表的操作——修改列的数据类型( 即 修改字段的数据类型)
- 解决在mybatis中使用CTE进行oracle查询数据类型为long的字段出现流关闭问题
- Oracle查询数据表结构(字段,类型,大小,备注)
- 修改有数据oracle字段类型 从number转为varchar