修改oracle字段小数点精度
--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值保存到临时字段里
red摄像机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;车笔顺笔画
---