oracle 修改列类型

前端之家收集整理的这篇文章主要介绍了oracle 修改列类型前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有一个表名为fva_voucherType,字段段名为fid,数据类型number。
一共有三种情况,分别为:
1、字段数据为空:
alter table fva_voucherTypemodify (fidvarchar2(32));

2、字段有数据,改为varchar2(32):
alter table fva_voucherTypemodify (fid varchar2(32));

3、字段有数据,修改时弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”

/*修改原字段名fid为fid_tmp*/
alter table rename column fid to fid_tmp;

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

/*将原字段fid_tmp数据更新到增加的字段fid*/
update fva_voucherType setfid=trim(fid_tmp);

/*更新完,删除原字段fid_tmp*/
alter table fva_voucherType drop columnfid_tmp;


修改主键方法
1查询主键名称
 SELECT   *   from   user_cons_columns c where c.table_name = '表名';
2删除主键
 alter table  表名 drop constraint 主键名;
3增加主键
 alter table 表名 add constraint 主键名 primary key(字段名);
原文链接:https://www.f2er.com/oracle/209848.html

猜你在找的Oracle相关文章