存储过程-数据位置调换demo
-- 创建日志表
create table T_LOG_DATA_POSITION
(LOG_ID NUMBER(12) not null,ERROR_DESC VARCHAR2(4000),ERROR_POSITION VARCHAR2(4000),OCCUR_TIME DATE default SYSDATE not null,TYPE VARCHAR2(10)
)
--创建 序列
REATE SEQUENCE S_DATA_POSITION_ID
START WITH 1
MINVALUE 1
MAXVALUE 999999999
INCREMENT BY 1
CACHE 20;
--设置主键
alter table T_LOG_DATA_POSITION add constraint PK_DATA_POSITION_ID primary key (LOG_ID)
using index tablespace OTHER_INDX;
--账户授权 :
grant select, insert, update on SCORE_OPRS.T_LOG_DATA_POSITION to TP_SCORE_OPR_CC;
grant select, insert, update on SCORE_OPRS.T_LOG_DATA_POSITION to SCORE_OPR_RAC_CC;
grant select, insert, update on SCORE_OPRS.T_LOG_DATA_POSITION to TP_SCORE_OPR_RAC_CC;
--存储过程脚本:
CREATE OR REPLACE PACKAGE PKG_DATA_POSITION IS-- 执行程序逻辑PROCEDURE P_PR_DATA_POSITION;-- 执行日志记录PROCEDURE T_INSERT_LOG(P_ERROR_DESC T_LOG_DATA_POSITION.ERROR_DESC%TYPE,P_ERROR_POSITION T_LOG_DATA_POSITION.ERROR_POSITION%TYPE,P_TYPE T_LOG_DATA_POSITION.TYPE%TYPE);END PKG_DATA_POSITION;
/
CREATE OR REPLACE PACKAGE BODY PKG_DATA_POSITION IS/**修正数据存储位置createdBy:2020/03/20**/PROCEDURE P_PR_DATA_POSITION IS--初始化数据赋值给游标CURSOR CUR_PRICING_DATA(C_BEGIN_DATE DATE) ISSELECT t.SCORERUNID,t.BAK6,t.BAK7,t.DUTY_RISK_PREMIUM FROM T_TABLENAME1 tWHEREDECODE(translate(t.DUTY_RISK_PREMIUM, '\1234567890 ', '\'),'','0') ='0'AND t.DUTY_RISK_PREMIUM IS NOT NULLAND t.CREATED_DATE >= C_BEGIN_DATEAND t.CREATED_DATE < C_BEGIN_DATE + 1;V_BEGIN_DATE DATE;V_END_DATE DATE;V_COMMIT_CNT NUMBER(5);BEGIN--开始执行程序V_BEGIN_DATE := trunc(to_date('2019-09-10 00:00:00','yyyy-MM-dd HH24:mi:ss'));V_END_DATE := trunc(to_date('2020-03-19 00:00:00','yyyy-MM-dd HH24:mi:ss'));V_COMMIT_CNT := 0;PKG_DATA_POSITION.T_INSERT_LOG('开始修正数据存储位置','PKG_DATA_POSITION.P_PR_DATA_POSITION','0');LOOPEXIT WHEN V_BEGIN_DATE = V_END_DATE;--按天处理FOR P_DATALIST IN CUR_PRICING_DATA(V_BEGIN_DATE) LOOPBEGIN--数据前进一位UPDATE T_TABLENAME1 tSET t.BAK6=P_DATALIST.BAK7,t.BAK7=P_DATALIST.DUTY_RISK_PREMIUM,t.DUTY_RISK_PREMIUM=P_DATALIST.BAK6WHERE t.SCORERUNID=P_DATALIST.SCORERUNID;END;PKG_DATA_POSITION.T_INSERT_LOG('Update_ScoreRunId - ' || P_DATALIST.SCORERUNID,'PKG_DATA_POSITION.P_PR_DATA_POSITION','1');V_COMMIT_CNT := V_COMMIT_CNT + 1;IF V_COMMIT_CNT = 1000 THENCOMMIT;V_COMMIT_CNT := 0;END IF;END LOOP;V_BEGIN_DATE := V_BEGIN_DATE + 1;COMMIT;END LOOP;PKG_DATA_POSITION.T_INSERT_LOG('修正数据存储位置完成','PKG_DATA_POSITION.P_PR_DATA_POSITION','0');END P_PR_DATA_POSITION;-- 记录日志PROCEDURE T_INSERT_LOG(P_ERROR_DESC T_LOG_DATA_POSITION.ERROR_DESC%TYPE, P_ERROR_POSITION T_LOG_DATA_POSITION.ERROR_POSITION%TYPE, P_TYPE T_LOG_DATA_POSITION.TYPE%TYPE) ISBEGININSERT INTO T_LOG_DATA_POSITION (LOG_ID, ERROR_DESC, ERROR_POSITION ,TYPE)VALUES (S_DATA_POSITION_ID.NEXTVAL,P_ERROR_DESC,P_ERROR_POSITION,P_TYPE);COMMIT;END;END PKG_DATA_POSITION;
/
存储过程-数据位置调换demo相关推荐
- matlab把两列调换下位置,excel快速调换两列数据位置应该怎么操作?
在使用excel的过程中,掌握一些小技巧可以帮助我们更快更方便的进行工作,今天软件帝就为大家准备了excel快速调换两列数据位置的操作,一起来看看吧: 1.打开需要修改的Excel表格文件.选中要调换 ...
- 职称计算机与二级计算机合并,职称计算机考试:excel按数据位置合并
如果要合并的几个源区域中的数据是按同样的顺序和位置排列的,则可以按位置进行合并 计算. 例如:一个简单的家庭支出工作簿,包含3张工作表.前两张工作表分别是 1季度.2季度的家庭支出汇总表,第三张工作表 ...
- 【计算机网络】数据链路层 : 差错控制 ( 纠错编码 | 海明码 | “海明码“ 原理 | “海明码“ 工作流程 | 确定校验啊位数 | 确定校验码和数据位置 | 求校验码值 | 检错纠错 )★
文章目录 一. "海明码" 工作原理 二. "海明码" 工作流程 三. 确定校验码位数 四. 确定校验码和数据位置 0. 确定校验码位置 1. 引入二进制位 2 ...
- 神策数据上线 IPTV Demo ,三大价值助力数据驱动
工信部发布的 "2019 年上半年通信业经济运行情况"中显示,IPTV 用户已经达到 2.81 亿户,占据大屏市场大片江山,成为 IPTV 成长史上的高光时刻.但高光时刻往往意味着 ...
- solidity数据位置-memory,storage和calldata
有三种类型,memory,storage和calldata,一般只有外部函数的参数(不包括返回参数)被强制指定为calldata.这种数据位置是只读的,不会持久化到区块链 storage存储或memo ...
- Asp.Net Core基于JWT认证的数据接口网关Demo
Asp.Net Core基于JWT认证的数据接口网关Demo 近日,应一位朋友的邀请写了个Asp.Net Core基于JWT认证的数据接口网关Demo.朋友自己开了个公司,接到的一个升级项目,客户要求 ...
- solidity数据位置
代码在执行前,一般会编译成指令.指令就是一个个逻辑,逻辑操作的是数据.代码,或者说业务,操作的其实是数据.非区块链中,代码操作的数据,一般会存到数据库中. 在区块链里,区块链本身就是一个数据库.如果你 ...
- 响应式表格(table-responsive)表头与表数据位置偏移
前言: 先吐槽一下:一工作就不像学校那样有时间写博客了,只能抽点空,来把之前打好的草稿补补.哈哈.做项目遇到的一大堆错误,慢慢整理吧. 进入正题: 这个错误呢:是我在做公司项目的时候遇到的,之前很少做 ...
- 使用poi进行数据的导出Demo
这是本人在项目中遇到了一个导出数据时,如果该条数据中包含汉字,就会出现excel单元格的大小与期望的样式不一样,也是查找了半天,也没有发现哪里出的问题. 现将一个小Demo奉献在这里,可以在遇到使用p ...
最新文章
- 047_Unicode对照表十三
- 继承 WebMvcConfigurationSupport类后无法访问Swagger页面问题
- OpenCASCADE绘制测试线束:拓扑命令之拓扑和曲面创建
- 放假了,暂告一段落,迎接研究生
- 常见DDoS技术方法和对应防御措施
- python绘制散点图的函数_Python用PyQt5绘制多彩随机散点图,基本控件之QPainter使用详解...
- butterfly配置 hexo_Hexo博客之butterfly主题优雅魔改系列(持续更新)
- 单元测试框架-Junit
- Emscripten 单词_分享15个英语单词记忆方法,简单实用,赶紧收藏吧!
- 基于Linux的系统的文件/文件夹的权限
- 3.excel 生成 sql
- mysql中多个left join子查询写法以及别名用法
- 管理感悟:一个人的工作效率是不可能提高的
- [软件更新]暴风影音2009最新特别版光盘免费赠送(暴风门特别版)
- 木马 java_Java恶意软件来袭 木马病毒也要跨平台
- java实现网页结构分析,网页列表发现
- Python3.9标准库math中的函数汇总介绍(53个函数和5个常数)
- 2018年舆情产品小总结
- gitee使用教程(超详解)
- cad.net 文字