问题描述
PROCEDUREDoManualDataUploadISdtStartDATE;dtEndDATE;strStatusVARCHAR2(40);strDescVARCHAR2(1000);strSysSignVARCHAR2(40);BEGINstrSysSign:='ITGQRY_MANUAL';UtilityFunc.setSyssign@appdblink(strSysSign);BEGINSELECTTRUNC(max(eci.last_fatch_end_date))INTOdtStartFROMetl_control_infoeciWHEREeci.sys_signin('ITGQRY_MANUAL','ITGQRY');SELECTeci.etl_statusINTOstrStatusFROMetl_control_infoeciWHEREeci.sys_sign=strSysSign;EXCEPTIONWHENOTHERSTHENdtStart:=TRUNC(SYSDATE-1);END;dtEnd:=SYSDATE;IFstrStatus<>'STOP'THENstrDesc:='***已经有一个实例在运行,加载结束***';UtilityFunc.WriteLog@appdblink('DataUpload.DoManualDataUpload','M','etl_control_info','S',strDesc);COMMIT;RETURN;ENDIF;UtilityFunc.LogReset@appdblink();UtilityFunc.SetLogStatus@appdblink(dtStart,dtEnd,'RUNNING');strDesc:='MIS数据手动加载过程启动,处理日期范围:'||to_char(dtStart,'YYYY-MM-DDHH24:MI:SS')||'至'||to_char(dtEnd,'YYYY-MM-DDHH24:MI:SS');UtilityFunc.WriteLog@appdblink('DataUpload.DoManualDataUpload','M','etl_control_info','S',strDesc);FECHDATA20080122.FetchCommonData(dtStart,dtEnd,1,false);FECHDATA20080122.FetchBalance(dtStart,dtEnd,1);FECHDATA20080122.FetchGLData(dtStart,dtEnd,1);PUSHDATA20080131.PushCommonData(dtStart,dtEnd);PUSHDATA20080131.PuchBalance(dtStart,dtEnd);PUSHDATA20080131.PushGLData(dtStart,dtEnd);DealData.UpdateSegments;DealData.UpdateBalances;DealData.UpdateJeHeaders;DealData.UpdateJeLines;--整理mv数据FCM_ITGQRY_PKG.MANUAL_REFRESH_MV_DATA@appdblink(dtStart,dtEnd);strDesc:='***MIS手动数据加载过程结束***';UtilityFunc.WriteLog@appdblink('DataUpload.DoManualDataUpload','M','etl_control_info','S',strDesc);UtilityFunc.SetLogStatus@appdblink(dtStart,dtEnd,'STOP');COMMIT;EXCEPTIONWHENOTHERSTHENstrDesc:='***MIS手动数据加载过程以失败结束:'||sqlerrm;UtilityFunc.WriteLog@appdblink('DataUpload.DoManualDataUpload','M','etl_control_info','S',strDesc);UtilityFunc.SetLogStatus@appdblink(dtStart,dtStart,'STOP');DBMS_OUTPUT.put_line(SQLERRM);ROLLBACK;ENDDoManualDataUpload;BEGINNULL;ENDDataUpload;大家帮忙看看这个存储过程是什么作用啊。是往数据库中保存数据吗?还是获取数据啊。
解决方案
解决方案二:
转到SQL区去看看,祝好运
解决方案三:
上面是一个Oracle的存储过程,把etl_control_info表中eci.last_fatch_end_date字段的最大值复制到dtStart表中,并把eci.last_fatch_end_date表中的etl_status字段赋值给strStatus,不正确时就捕捉异常,如果strStatus的值等于Stop就一直循环,直到strStatus的值不等于Stop时就提示“***已经有一个实例在运行,加载结束***”。我自己理解的,希望对你有帮助,呵呵......
解决方案四:
--->大家帮忙看看这个存储过程是什么作用啊。是往数据库中保存数据吗?还是获取数据啊。select么!==
解决方案五:
搜索关键字,insert,delete,update
解决方案六:
保存数据