存储过程 100w提交
- create or replace procedure largedata_insert(ip_table_name in varchar2, --目标表
- ip_table_column in varchar2, --目标字段
- ip_table_select in varchar2, --SELECT 查询语句
- return_result out number --返回的结果1,表示成功,0表示失败
- ) as
- --适合大数据量的插入模板 create Templates by chenzhoumin 20110614
- runTime number;
- i number;
- amount number;
- s_sql varchar2(5000);
- begin
- return_result := 0; --开始初始化为0
- --核必逻辑内容,可根据具体的业务逻辑来定义
- s_sql := 'select count(1) from (' || ip_table_select || ')';
- execute immediate s_sql
- into amount;
- --每100万提交一次
- runTime := amount mod 1000000;
- if (runTime > 0) then
- runTime := 1 + trunc(amount / 1000000);
- end if;
- if (runTime = 0) then
- runTime := 0 + trunc(amount / 1000000);
- end if;
- FOR i IN 1 .. runTime LOOP
- execute immediate 'insert into ' || ip_table_name || ' (' ||
- ip_table_column || ')
- select ' || ip_table_column || ' from (select selectSec.*, rownum rownumType
- from (' || ip_table_select ||
- ') selectSec
- WHERE ROWNUM <= ' || i * 1000000 || ')
- WHERE rownumType > ' || (i - 1) * 1000000;
- --提交
- commit;
- END LOOP;
- return_result := 1;
- dbms_output.put_line('结束' || to_char(sysdate, 'yyyymmddhh24miss'));
- return;
- exception
- when others then
- return_result := 0;
- raise;
- return;
- end;
存储过程 100w提交的更多相关文章
- DB2存储过程语法规则
如何声明一个存储过程CREATE PROCEDURE 存储过程名(IN 输入变量名 输入变量类型,OUT 输出变量名 输出变量类型)紧跟其后的是存储过程属性列表 常用的有:LAN ...
- Oracle存储过程和自定义函数笔记
学习地址:https://www.imooc.com/learn/370 存储过程和存储函数定义:指存储在数据库中供所有用户程序调用的子程序叫做存储过程 .存储函数. 相同点:完成特定功能的程序.区别 ...
- 数据库技术_Orcale技术(0002)_5分钟会用存储过程_存储过程实例
基础技术: 样例业务功能: 1.依据传入的类型A_TYPE联合查询PROCEDURE_TEST_A表.PROCEDURE_TEST_A_SUB表中的数据.并显示主要内容. 2.依据传入的类型A_TYP ...
- db2基础
DB2知识文档 一.db2 基础 基本语法 注释:"--"(两个减号) 字符串连接:"||" 如set msg='aaaa'||'bbbb',则msg为'aaa ...
- HANA SQLScript
数据类型 日期时间类型 DATE(日期) DATE 数据类型由年.月.日信息组成,表示一个日期值. DATA 类型的默认格式为‘YYYY-MM-DD’. YYYY 表示年, MM 表示月而 DD 表示 ...
- db2 基础语法
一.db2 基础 基本语法 注释:“--”(两个减号) 字符串连接:“||” 如set msg=’aaaa’||’bbbb’,则msg为’aaaabbbb’ 字符串的引用:‘’(一定用单引号),如果需 ...
- DB2知识文档
DB2知识文档 一.db2 基础 基本语法 注释:“--”(两个减号) 字符串连接:“||” 如set msg=’aaaa’||’bbbb’,则msg为’aaaabbbb’ 字符串的引用:‘’(一定用 ...
- BS程序性能调优
首先想到的是优化算法.改进技术.扩展设备去做优化.其实在讨论性能的时候,绕不开对业务的理解,不同的业务系统对性能的要求不同,优化方式也不一样.优化性能的前提是保证业务的正确性.我们平时关注的性能主要是 ...
- MySql使用存储过程实现事务的提交或者回滚
DELIMITER $$ DROP PROCEDURE IF EXISTS test_sp1 $$ CREATE PROCEDURE test_sp1( ) BEGIN ; ; START TRANS ...
随机推荐
- BZOJ 3545: [ONTAK2010]Peaks [Splay启发式合并]
3545: [ONTAK2010]Peaks 题意:带权图,多组询问与一个点通过边权\(\le x\)的边连通的点中点权k大值 又读错题了,输出点一直WA,问的是点权啊 本题加强版强制在线了,那这道题 ...
- javascript 欺骗词法作用域
如果词法作用域完全由写代码期间函数所声明的位置来定义,怎样才能在运行时来"修改"(也可以说欺骗)词法作用域呢? JavaScript 中有两种机制来实现这个目的.社区普遍认为 ...
- 6.C++初步分析类
面向对象的意义在于: -将日常生活中习惯的思维方式引入程序设计中 -将需求中的慨念直观的映射到解决方案中 -以模块为中心构建可复用的软件系统 -提高软件产品的可维护性和可扩展性 其中类和对象是面向对象 ...
- WPF: 深入理解 Weak Event 模型
在之前写的一篇文章(XAML: 自定义控件中事件处理的最佳实践)中,我们曾提到了在 .NET 中如果事件没有反注册,将会引起内存泄露.这主要是因为当事件源会对事件监听者产生一个强引用,导致事件监听者无 ...
- CodeForces 820C
题意略. 这道题目的出题者竟然被hack了!? 我的思路是:在游戏开始时,为了尽量少地用字母,我应该尽量选取计算机输出的前a个字母中已经使用过的字母.但是为了使电脑也尽量少用字母,我添加的这b个字母应 ...
- Mybatis 动态使用update语句
update pf_product_audio_t <trim prefix="set" suffixOverrides=","> <if t ...
- 腾讯云微计算实践:从Serverless说起,谈谈边缘计算的未来
欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 作者:黄文俊,腾讯云高级产品经理,曾经历过企业级存储.企业级容器平台等产品的架构与开发,对容器.微服务.无服务器.DevOps等都有浓厚兴趣. ...
- Java经典编程题50道之五
利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. public class Example05 { public static ...
- mysql存储引擎、事务
MySQL存储引擎介绍 文件系统 操作系统组织和存取数据的一种机制. 文件系统是一种软件. 文件系统类型 ext2 ext3 ext4 xfs 数据 不管使用什么文件系统,数据内容不会变化 不同 ...
- 深入js正则
开题 我们常常有正则的各种需求,普通的正则匹配符虽然够用,但是满足不了我们一些很奇怪的需求,所以我们需要更多的关于正则的知识点. 需求 比如我们有一个这样的需求,匹配出字符串里的第一个div标签:aa ...