oracle 修改列长度或精度减小不能执行的解决方法

/*修改原字段名MONTHLY_INT_RATE为MONTHLY_INT_RATE_TMP*/

alter table RULE_PRODUCT_INFO rename column MONTHLY_INT_RATE to MONTHLY_INT_RATE_TMP;

/*增加一个和原字段名同名的字段MONTHLY_INT_RATE*/

alter table RULE_PRODUCT_INFO add MONTHLY_INT_RATE NUMBER(18,6);

/*将原字段MONTHLY_INT_RATE_TMP数据更新到增加的字段MONTHLY_INT_RATE*/

update RULE_PRODUCT_INFO set MONTHLY_INT_RATE=MONTHLY_INT_RATE_TMP;

/*更新完,删除原字段MONTHLY_INT_RATE_TMP*/

alter table RULE_PRODUCT_INFO drop column MONTHLY_INT_RATE_TMP;

猜你喜欢

转载自wjlvivid.iteye.com/blog/2264779