调用路径:存储过程-》调用函数初始化TYPE里变量-》存储过程调用具体级别的日志操作-》调用TYPES实现体TYPE BOBIES里的具体Member实现体-》调用公用的Member成员存储过程写入syslog表。代码样例展示:1、存储过程
- createorreplaceprocedure sp_message_hisorderdata_create(
- p_l_dateHsCrmType.LDate%TYPE,
- p_vc_customer hscrmtype.vc50%type) IS
- v_l_dateHsCrmType.LDate%Type;
- v_l_currentdate HsCrmType.LDate%Type;
- v_vc_customer hscrmtype.vc50%type;
- v_l_count HsCrmType.LInt%Type;
- v_l_total HsCrmType.LInt%Type;
- v_vc_open_value HsCrmType.VC255%Type;
- v_vc_open_value_tempHsCrmType.VC255%Type;
- v_vc_customer_noHsCrmType.VC20%Type;
- vc_product_no HsCrmType.CKind%Type;
- vc_product_temp HsCrmType.CKind%Type;
- v_vc_prefix HsCrmType.CKind%Type;
- v_vc_temp1HsCrmType.VC255%Type;
- v_vc_temp2HsCrmType.VC255%Type;
- v_vc_temp3HsCrmType.VC255%Type;
- v_vc_temp4HsCrmType.VC255%TYPE;
- V_L_SPEAK_NOHsCrmType.LInt%Type;
- l_tyLogty_logManager := ty_logManager("system","003");
- begin
- l_tyLog.up_Enter("sp_message_hisorderdata_create开始");
- v_vc_temp1 := chr(1)||" "||chr(1)||" "||chr(1)||" "||chr(1)||" ";
- v_vc_temp2 := chr(1)||" "||chr(1)||" "||chr(1)||" ";
- v_vc_temp3 := chr(1)||" "||chr(1)||" ";
- v_vc_temp4 := chr(1)||" ";
- --zhoudy 2013-01-30 添加初始化赋值
- v_vc_open_value := "";
- v_l_total:= 0;
- V_L_SPEAK_NO := 0;
- v_l_date := nvl(p_l_date,0);
- v_vc_customer := nvl(p_vc_customer," ");
- if v_l_date = 0then
- v_l_date := to_number(to_char(SYSDATE-1,"YYYYMMDD"));
- end if;
- FOR r IN (SELECT a.vc_customer_no
- ,a.l_product_no
- ,"3"AS c_sourcetype
- ,a.l_de_begin_date AS l_de_begin_date
- ,a.l_de_end_date AS l_de_end_date
- ,(SELECT WMSYS.WM_CONCAT(b.vc_open_value) FROM hscrm_dbo.orderinfo b
- WHERE b.vc_customer_no=a.vc_customer_no
- AND b.l_product_no=a.l_product_no
- and b.l_product_no < 20000) AS vc_open_value
- ,"1"AS c_processtype
- FROM hscrm_dbo.speakforrelation a
- WHERE--a.l_create_date <= v_l_date
- --a.l_create_date <= 20101026
- --and
- a.l_product_no < 20000
- --and a.l_create_date <= 20101024
- --and (a.vc_customer_no = v_vc_customer or v_vc_customer = " ")
- --and a.l_product_no=11003
- GROUPBY vc_customer_no,l_product_no,l_de_begin_date,l_de_end_date
- )
- LOOP
- v_vc_prefix := substr(r.vc_customer_no,1,3);
- if v_vc_prefix = "CRM"then
- v_vc_customer_no := substr(r.vc_customer_no,4);
- v_vc_open_value_temp := r.vc_open_value;
- vc_product_temp := substr(to_char(r.l_product_no),1,1);
- if vc_product_temp = "1"then
- v_l_total := v_l_total + 1;
- vc_product_no := substr(to_char(r.l_product_no),2);
- SELECTCOUNT(*) INTO v_l_count FROM hscrm_dbo.smsserviceparam WHERE vc_smsno = to_char(r.l_product_no);
- CASE
- WHEN v_l_count = 0 THEN
- v_vc_open_value := "";
- WHEN v_l_count = 1 THEN
- v_vc_open_value := REPLACE(r.vc_open_value,v_vc_temp1);
- WHEN v_l_count = 2 THEN
- v_vc_open_value := REPLACE(r.vc_open_value,v_vc_temp2);
- WHEN v_l_count = 3 THEN
- v_vc_open_value := REPLACE(r.vc_open_value,v_vc_temp3);
- WHEN v_l_count = 4 THEN
- v_vc_open_value := REPLACE(r.vc_open_value,v_vc_temp4);
- --zhoudy 20130131
- ELSE
- v_vc_open_value := REPLACE(r.vc_open_value,v_vc_temp4);
- ENDCASE;
- v_vc_open_value := REGEXP_REPLACE(v_vc_open_value," ");
- v_vc_open_value := REPLACE(v_vc_open_value,",",chr(1));
- --V_L_SPEAK_NO := r.L_SPEAK_NO;
- INSERTINTO THJZX_DZGX_IN_HIS2(KHH,CPBH,DZLY,DZSJ,DQSJ,DZLX,CS,CJRQ)
- VALUES(v_vc_customer_no
- ,vc_product_no
- ,r.c_sourcetype
- ,r.l_de_begin_date
- ,r.l_de_end_date
- ,r.c_processtype
- ,v_vc_open_value
- ,v_l_date);
- end if;
- end if;
- COMMIT;
- END LOOP;
- commit;
- l_tyLog.up_Leave("sp_message_hisorderdata_create处理结束,成功生成数"||v_l_total);
- exception
- when others then
- rollback;
- l_tyLog.up_Error("sp_message_orderdata_create error:"||v_vc_customer_no||":"||V_L_SPEAK_NO||":"||v_l_date||":"||vc_product_no||":"|| v_vc_open_value||":"||SQLCODE);
- end sp_message_hisorderdata_create;
片段解析:初始化log的定义,其实现在type的内部;
- l_tyLogty_logManager := ty_logManager("system","003");
调用log具体子过程
- l_tyLog.up_Error("sp_message_orderdata_create error:"||v_vc_customer_no||":"||V_L_SPEAK_NO||":"||v_l_date||":"||vc_product_no||":"|| v_vc_open_value||":"||SQLCODE);
- l_tyLog.up_Leave("sp_message_hisorderdata_create处理结束,成功生成数"||v_l_total);
Redis批量导入数据Oracle控制文件多元化相关资讯 Oracle数据库
- Oracle数据库全球化 (03月01日)
- Oracle数据库日期过滤方法性能比较 (02/02/2015 13:20:26)
- Oracle数据库安装中端口被占用问题 (10/29/2014 07:42:24)
| - 在CentOS 6.6上搭建C++运行环境并 (10/10/2015 19:44:40)
- Oracle数据库无法使用localhost和 (11/14/2014 16:39:10)
- Oracle 多数据库的数据同时更新 (06/16/2014 21:52:23)
|
本文评论 查看全部评论 (0)