保存一个package的存储过程的实例
保存一个package的存储过程的实例,以备后用package:
create or replace package pkg_sync_XXXXXXXXXXXXXX_migrate is/** Created : 2012-4-16 14:12 description :**/--入口1:全量同步XXXXXXXXXXXXXXprocedure proc_sync_XXXXXXXXXXXXXX_full(p_maxid in number);--入口2:增量同步XXXXXXXXXXXXXXprocedure proc_sync_XXXXXXXXXXXXXX_incr;--保存到XXXXXXXXXXXXXX表procedure save_XXXXXXXXXXXXXX(p_tag_idvarchar2,p_gmt_createdate,p_creatorvarchar2,p_gmt_modifieddate,p_modifiervarchar2,p_is_deletedchar,XXXvarchar2);end;
packagebody:
create or replace package body pkg_sync_XXXXXXXXXXXXXX_migrate is/** Created : 2012-4-16 14:12 description :**/--入口1:全量同步XXXXXXXXXXXXXXprocedure proc_sync_XXXXXXXXXXXXXX_full(p_maxid in number)isv_count number := 0;v_errorcode varchar2(500);v_errormsgvarchar2(500);beginfor cc in (select * from XXXXXXXXX where id<p_maxid order by id asc) loopsavepoint startloop;begin--保存信息save_XXXXXXXXXXXXXX(XXXXXXX);v_count := v_count + 1;if mod(v_count,10)=0 thencommit;end if;exception when others then --先将这条记录的插入操作回滚掉,再记录日志 rollback to startloop; --循环中出现异常,记录日志v_errorcode := -abs(sqlcode);v_errormsg:= sqlerrm ;save_exception_log_migrate();end;end loop;commit ;end;--入口2:增量同步XXXXXXXXXXXXXXprocedure proc_sync_XXXXXXXXXXXXXX_incrisv_tag_group XXXXXXXXXXXXXXXX%ROWTYPE;v_count number := 0;v_errorcode varchar2(500);v_errormsgvarchar2(500);v_count_groupnumber := 0 ;v_sales_id varchar2(64);beginfor cc in (select * from XXXXXXXXXXXXXXXXXXX where object_type='XXXX') loopsavepoint startloop;beginif cc.action_type = 'i' then --新插入数据 save_XXXXXXXXXXXXXX(XXXXXXXXX);end if;elsif cc.action_type = 'u' then --更新数据end if;v_count := v_count + 1;if mod(v_count,5)=0 thencommit;end if;exception when others then --先将这条记录的插入操作回滚掉,再记录日志 rollback to startloop; --循环中出现异常,记录日志v_errorcode := -abs(sqlcode);v_errormsg:= sqlerrm ;save_exception_log_migrate();end;end loop;commit;end;--保存到XXXXXXXXXXXXXX表procedure save_XXXXXX(p_tag_idvarchar2,p_gmt_createdate,p_creatorvarchar2,p_gmt_modifieddate,p_modifiervarchar2,p_is_deletedchar,p_XXXXvarchar2,)isbegininsert into XXXXXXXXXXXXXXXXXXXX ;end;end;
页:
[1]