存储过程
来源:互联网 发布:软件测试书籍下载 编辑:程序博客网 时间:2024/06/07 08:57
存储过程记录日志模板
开始部分
tempId := SEQ_CRM_OPT_LOG.Nextval; INSERT INTO CRM_TASK_OPERATE_LOG (ID, TASK_NAME, BEGIN_TIME, STATUS, TASK_TYPE) VALUES (tempId, 'SEQ_CRM_CUST_USER_INTERVAL', SYSDATE, 1, 1 ); COMMIT; ``` 结束部分 detail_info := '[{"order":"1","name":"CRM_CUST_INTERVAL表插入数据","count":"' || sql%rowcount || '"}]'; UPDATE CRM_TASK_OPERATE_LOG T SET T.END_TIME = SYSDATE, T.STATUS = 2, T.DETAIL = detail_info where id = tempId; COMMIT; exception when others then dbms_output.put_line('存储过程PRO_CRM_CUST_SHOP,执行异常!'); rollback; sql_errm := sqlerrm; update CRM_TASK_OPERATE_LOG t set t.end_time = sysdate, t.status = 3, t.detail = detail, t.exception = sql_errm where id = tempId; commit;**if elsif else 代码** IF a>10 then 逻辑 ; ELSIF (a>5 and a<=10) then 逻辑 ELSE 逻辑 ; end IF; **多层逻辑条件 并用and 或用or 或者是嵌套多层 if ** **程序中的elseif 和这个不一样,新手容易写错**<div class="se-preview-section-delimiter"></div>------------------- - 计算相邻的两条记录您的时间差(场景:计算用户订单的时间间隔) 原理分析 :遍历当前记录游标,把当前的时间放到变量中,然后进行下一个记录时,进行相减,重置当前时 间,当变更用户后重置起始购买次数。脚本如下:<div class="se-preview-section-delimiter"></div>
mobile :=0;
shop_id :=0;
buy_count :=1;
gap :=0;
open user_order_list for ‘select dso.shop_id,dod.mobile,dso.create_time from dwh_order_delivery_ins dod
inner join dwh_sales_order_ins dso on dso.src_sys = dod.src_sys and dso.src_id = dod.src_id
inner join crm_shop cs on cs.shop_id = dso.shop_id
where dso.cancel_time is null
and dod.mobile is not null
and dso.order_type !=422
group by dso.shop_id,dod.mobile,dso.create_time
ORDER BY ’ || shop_mobile_create_time;
LOOP
FETCH user_order_list INTO v_shop_id,v_mobile,v_create_time;
EXIT WHEN user_order_list%NOTFOUND;
IF(mobile=v_mobile and shop_id=v_shop_id) then
select trunc(v_create_time)-trunc(pre_create_time) into gap from dual;
– 插入逻辑
insert into crm_cust_interval
(id, shop_id, mobile, interval_type, interval_day, create_time)
values
(seq_crm_cust_interval.nextval, v_shop_id, v_mobile, buy_count, gap+1, SYSDATE);
buy_count :=buy_count +1;
ELSE
buy_count :=1;
end if;
mobile :=v_mobile;
shop_id :=v_shop_id;
pre_create_time :=v_create_time;
end Loop;
“`
- 存储过程
- 存储过程
- 存储过程
- 存储过程
- 存储过程
- 存储过程
- 存储过程
- 存储过程
- 存储过程
- 存储过程
- 存储过程
- 存储过程
- 存储过程
- 存储过程
- 存储过程
- 存储过程
- 存储过程
- 存储过程
- 简单模拟高响应优先调度算法
- hdu 1074 Doing Homework(dp)
- Android 你应该知道的学习资源-转载自鸿洋_大神博客
- [更新设计]跨平台物联网通讯框架ServerSuperIO 2.0 ,功能、BUG、细节说明,以及升级思考过程!
- ios 对于AFNetworking3.0的基本使用
- 存储过程
- Android将第三方apk文件编译生成到system.img中
- EXECUTORSERVICE线程池讲解
- 高压缩空间占用的 Hyper LogLog 算法
- 日志搜集处理框架------[Logstash]使用详解
- 菜鸟级入门学习maven的使用,很实用的入门教程
- 字典序
- Memcache,Redis,MongoDB(数据缓存系统)方案对比与分析
- Nginx