oracle 修改列类型

有一个表名为fva_voucherType,字段段名为fid,数据类型number。
一共有三种情况,分别为:
1、字段数据为空:
alter table fva_voucherType modify (fid varchar2(32));

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

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

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

/*增加一个和原字段名同名的字段fid*/
alter table  fva_voucherType  add 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(字段名);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值