--REFVALUE长度:由于小数4位改为6位
DECLARE
VN_COUNT1 NUMBER;
BEGIN
SELECT COUNT(*) INTO VN_COUNT1 FROM USER_TAB_COLUMNS
WHERE TABLE_NAME = 'BIS_FIN_PRODUCT_INFO' AND COLUMN_NAME = 'REFVALUE';
IF VN_COUNT1 = 1 THEN
EXECUTE IMMEDIATE 'ALTER TABLE BIS_FIN_PRODUCT_INFO ADD REFVALUE_TEMP NUMBER';
EXECUTE IMMEDIATE 'UPDATE BIS_FIN_PRODUCT_INFO SET REFVALUE_TEMP=REFVALUE,REFVALUE=NULL';
EXECUTE IMMEDIATE 'ALTER TABLE BIS_FIN_PRODUCT_INFO MODIFY REFVALUE NUMBER(15,6)';
EXECUTE IMMEDIATE 'UPDATE BIS_FIN_PRODUCT_INFO SET REFVALUE=REFVALUE_TEMP';
EXECUTE IMMEDIATE 'ALTER TABLE BIS_FIN_PRODUCT_INFO DROP COLUMN REFVALUE_TEMP';
END IF;
END;
/
--如使用下面的脚本,两个COMMIT需要注意必须有。
--建立临时字段REFVALUE_TEMP
ALTER TABLE BIS_FIN_PRODUCT_INFO ADD REFVALUE_TEMP NUMBER;
--将REFVALUE值保存到临时字段里
UPDATE BIS_FIN_PRODUCT_INFO SET REFVALUE_TEMP=REFVALUE,REFVALUE=NULL;
COMMIT;
--修改精度为6位(原来为4位)
ALTER TABLE BIS_FIN_PRODUCT_INFO MODIFY REFVALUE NUMBER(15,6);
--将临时字段里值还原回REFVALUE字段里
UPDATE BIS_FIN_PRODUCT_INFO SET REFVALUE=REFVALUE_TEMP;
COMMIT;
--删除临时字段
ALTER TABLE BIS_FIN_PRODUCT_INFO DROP COLUMN REFVALUE_TEMP;
---
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请
点击举报。