huawei-大量数据分批处理思想,自定义游标,游标开关
来源:互联网 发布:淘宝众筹东西怎么样 编辑:程序博客网 时间:2024/06/05 18:03
CREATE OR REPLACE PROCEDURE p_DayLog_Cursor---分批处理思想
(iMaxTableID NUMBER := NULL)
AS
DAYLOG_ERROR EXCEPTION;
-- 定义取话单游标
CURSOR c_DayLog_Bill IS
SELECT CALLID,CALLIDNUM,CALLERNO,CALLEENO,WAITBEGIN,WAITEND,SkillID FROM tCurrentBillLog
WHERE TableID <= tMinTableID ORDER BY TableID;
BEGIN
-- 如果iMaxTableID为空,取表tCurrentBillLog当前最大的TableID
IF iMaxTableID IS NULL THEN
SELECT MAX(TableID) INTO tMaxTableID FROM tCurrentBillLog;
-- 自动日结先判断表中的最大和最小的TableID,控制一次日结只结20000条数据
SELECT MIN(TableID) INTO tMinTableID FROM tCurrentBillLog;
IF tMaxTableID - tMinTableID > 40000 THEN
tMaxTableID := tMinTableID + 40000;
END IF;
ELSE -- 手工日结
tMaxTableID := iMaxTableID;
SELECT MIN(TableID) INTO tMinTableID FROM tCurrentBillLog;
END IF;
-- 为避免事务过大,将事务进行分割,一次做2000条话单
tMinTableID := tMinTableID + 4000;
-- 如果tMinTableID+2000大于tMaxTableID,则将tMaxTableID值赋给tMinTableID
IF tMinTableID >= tMaxTableID THEN
tMinTableID := tMaxTableID;
END IF;
-- 开始以2000条数据为一个事务进行循环
WHILE tMinTableID <= tMaxTableID LOOP
OPEN c_DayLog_Bill;
LOOP
FETCH c_DayLog_Bill INTO
v_UserLevel,v_UserType,v_CallInCause,v_EnterReason,v_LeaveReason,v_PreDeviceNo,v_SkillID;
EXIT WHEN c_DayLog_Bill%NOTFOUND;
-- 调用日结分发存储过程
v_Ret := p_DayLog_Dispense(v_CALLID,v_CALLIDNUM,v_CallInCause,v_SkillID);
IF v_Ret = 1 THEN
RAISE DAYLOG_ERROR;
END IF;
END LOOP;
CLOSE c_DayLog_Bill;
COMMIT;
-- 删除已日结的话单
DELETE FROM tCurrentBillLog WHERE TableID <= tMinTableID;
COMMIT;
tMinTableID := tMinTableID + 4000;
-- 避免多次循环时,最后一段4000数据留到下次日结
IF tMinTableID >= tMaxTableID AND tMinTableID - tMaxTableID < 4000 THEN
tMinTableID := tMaxTableID;
END IF;
END LOOP;
EXCEPTION
....
END p_DayLog_Cursor;
/
- huawei-大量数据分批处理思想,自定义游标,游标开关
- huawei--创建游标,游标使用
- 利用隐式游标分批删除数据的procedure
- 【ORACLE】大数据快速更新(游标分批提交)
- 批量游标处理大数据
- Oracle 游标 隐式游标,显示游标,游标循环,动态SELECT语句和动态游标,异常处理,自定义异常
- huawei--游标使用,定义跳转标签
- oracle 隐式 游标 显示 循环 动态 select 语句 游标 异常 处理 自定义 游标的概念
- oracle 隐式游标,显示游标,游标循环,动态SELECT语句和动态游标,异常处理,自定义异常,
- oracle 隐式游标,显示游标,游标循环,动态SELECT语句和动态游标,异常处理,自定义异常,
- oracle 隐式游标,显示游标,游标循环,动态SELECT语句和动态游标,异常处理,自定义异常
- oracle 隐式游标,显示游标,游标循环,动态SELECT语句和动态游标,异常处理,自定义异常,
- oracle 隐式游标,显示游标,游标循环,动态SELECT语句和动态游标,异常处理,自定义异常,
- oracle 隐式游标,显示游标,游标循环,动态SELECT语句和动态游标,异常处理,自定义异常
- oracle 隐式游标,显示游标,游标循环,动态SELECT语句和动态游标,异常处理,自定义异常
- oracle 隐式游标,显示游标,游标循环,动态SELECT语句和动态游标,异常处理,自定义异常【转载】
- oracle 隐式游标,显示游标,游标循环,动态SELECT语句和动态游标,异常处理,自定义异常【转载】
- oracle 隐式游标,显示游标,游标循环,动态SELECT语句和动态游标,异常处理,自定义异常,
- vi 技巧和诀窍:令人刮目相看的 10 个超酷命令
- huawei-异常码,异常信息,greast,SQL%NOTFOUND ,%TYPE
- 嵌入式系统 Boot Loader 技术内幕
- 公有继承即可替换性
- STM32-USART DMA_Interrupt例程的学习
- huawei-大量数据分批处理思想,自定义游标,游标开关
- vss2005版本库迁移
- 自己动手写操作系统2 安装dos
- pdb python
- 设计模式之接口继承与实现继承
- 【问题解决】Syntax error, parameterized types are only available if source level is 5.0
- 使用类型通配符【java 5.0 tiger】
- string中Format函数的使用
- 请您轻轻的关爱