考虑到kettle重新抓取百万条的数据,太费时间了。这边我记录下,我处理的数据过程
--要更改字段类型 opc_id number 改成varchar 因为有数据 改不了
--新增一个字段
ALTER TABLE DWD.GP_CONTRACT_OIS_WORK_LOG ADD opc_id1 Varchar2(32)
--把opc_id的值赋值到opc_id1
UPDATE DWD.GP_CONTRACT_OIS_WORK_LOG SET opc_id1=opc_id
--再opc_id的数据制空
UPDATE DWD.GP_CONTRACT_OIS_WORK_LOG SET opc_id=NULL
SELECT * from DWD.GP_CONTRACT_OIS_WORK_LOG
--修改opc_id的字段类型
alter table DWD.GP_CONTRACT_OIS_WORK_LOG modify opc_id varchar2(32);
--再重新赋值opc_id
UPDATE DWD.GP_CONTRACT_OIS_WORK_LOG SET opc_id=opc_id1;
--opc_id1制空
UPDATE DWD.GP_CONTRACT_OIS_WORK_LOG SET opc_id1=NULL
--删除opc_id1
alter table DWD.GP_CONTRACT_OIS_WORK_LOG drop column opc_id1;