微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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(字段名);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐