-- 创建日志表

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相关推荐

  1. matlab把两列调换下位置,excel快速调换两列数据位置应该怎么操作?

    在使用excel的过程中,掌握一些小技巧可以帮助我们更快更方便的进行工作,今天软件帝就为大家准备了excel快速调换两列数据位置的操作,一起来看看吧: 1.打开需要修改的Excel表格文件.选中要调换 ...

  2. 职称计算机与二级计算机合并,职称计算机考试:excel按数据位置合并

    如果要合并的几个源区域中的数据是按同样的顺序和位置排列的,则可以按位置进行合并 计算. 例如:一个简单的家庭支出工作簿,包含3张工作表.前两张工作表分别是 1季度.2季度的家庭支出汇总表,第三张工作表 ...

  3. 【计算机网络】数据链路层 : 差错控制 ( 纠错编码 | 海明码 | “海明码“ 原理 | “海明码“ 工作流程 | 确定校验啊位数 | 确定校验码和数据位置 | 求校验码值 | 检错纠错 )★

    文章目录 一. "海明码" 工作原理 二. "海明码" 工作流程 三. 确定校验码位数 四. 确定校验码和数据位置 0. 确定校验码位置 1. 引入二进制位 2 ...

  4. 神策数据上线 IPTV Demo ,三大价值助力数据驱动

    工信部发布的 "2019 年上半年通信业经济运行情况"中显示,IPTV 用户已经达到 2.81 亿户,占据大屏市场大片江山,成为 IPTV 成长史上的高光时刻.但高光时刻往往意味着 ...

  5. solidity数据位置-memory,storage和calldata

    有三种类型,memory,storage和calldata,一般只有外部函数的参数(不包括返回参数)被强制指定为calldata.这种数据位置是只读的,不会持久化到区块链 storage存储或memo ...

  6. Asp.Net Core基于JWT认证的数据接口网关Demo

    Asp.Net Core基于JWT认证的数据接口网关Demo 近日,应一位朋友的邀请写了个Asp.Net Core基于JWT认证的数据接口网关Demo.朋友自己开了个公司,接到的一个升级项目,客户要求 ...

  7. solidity数据位置

    代码在执行前,一般会编译成指令.指令就是一个个逻辑,逻辑操作的是数据.代码,或者说业务,操作的其实是数据.非区块链中,代码操作的数据,一般会存到数据库中. 在区块链里,区块链本身就是一个数据库.如果你 ...

  8. 响应式表格(table-responsive)表头与表数据位置偏移

    前言: 先吐槽一下:一工作就不像学校那样有时间写博客了,只能抽点空,来把之前打好的草稿补补.哈哈.做项目遇到的一大堆错误,慢慢整理吧. 进入正题: 这个错误呢:是我在做公司项目的时候遇到的,之前很少做 ...

  9. 使用poi进行数据的导出Demo

    这是本人在项目中遇到了一个导出数据时,如果该条数据中包含汉字,就会出现excel单元格的大小与期望的样式不一样,也是查找了半天,也没有发现哪里出的问题. 现将一个小Demo奉献在这里,可以在遇到使用p ...

最新文章

  1. 047_Unicode对照表十三
  2. 继承 WebMvcConfigurationSupport类后无法访问Swagger页面问题
  3. OpenCASCADE绘制测试线束:拓扑命令之拓扑和曲面创建
  4. 放假了,暂告一段落,迎接研究生
  5. 常见DDoS技术方法和对应防御措施
  6. python绘制散点图的函数_Python用PyQt5绘制多彩随机散点图,基本控件之QPainter使用详解...
  7. butterfly配置 hexo_Hexo博客之butterfly主题优雅魔改系列(持续更新)
  8. 单元测试框架-Junit
  9. Emscripten 单词_分享15个英语单词记忆方法,简单实用,赶紧收藏吧!
  10. 基于Linux的系统的文件/文件夹的权限
  11. 3.excel 生成 sql
  12. mysql中多个left join子查询写法以及别名用法
  13. 管理感悟:一个人的工作效率是不可能提高的
  14. [软件更新]暴风影音2009最新特别版光盘免费赠送(暴风门特别版)
  15. 木马 java_Java恶意软件来袭 木马病毒也要跨平台
  16. java实现网页结构分析,网页列表发现
  17. Python3.9标准库math中的函数汇总介绍(53个函数和5个常数)
  18. 2018年舆情产品小总结
  19. gitee使用教程(超详解)
  20. cad.net 文字

热门文章

  1. 733.图像渲染(主讲题意)
  2. 解决在Tomcat上手动部署WAR服务器不能自动解压的方法
  3. Delphi XE4 For IOS之部署问题
  4. 信息安全 CIO最关注什么?
  5. Apache和Tomcat的区别是什么?
  6. Stack and queue.
  7. 负载均衡中的服务器健康检查
  8. 技术架构的战略和战术原则
  9. 不会MySQL索引,面试官让回家等通知!
  10. Linux网络包接收过程的监控与调优