fetch cursor bulk collect 用法
2011-11-21 20:33
393 查看
oracle 在9i版本之后提供了一种批量更新方法,可以迅速的提高大数据量的批量更新。
CREATE OR Replace PROCEDURE PRO_COLLECT_TEST IS TYPE TP_TYPE IS TABLE OF APPS.SYS_USER.USER_ID%TYPE; TYPE TP_TYPE2 IS TABLE OF APPS.SYS_USER.USER_NAME%TYPE; TYPE TP_TYPE3 IS TABLE OF APPS.SYS_USER.CREATE_DATE%TYPE; VN_ID TP_TYPE; VS_NAME TP_TYPE2; VD_DATE TP_TYPE3; CURSOR P_COLLECT IS SELECT A.USER_ID, A.USER_NAME, A.CREATE_DATE FROM APPS.SYS_USER A; BEGIN OPEN P_COLLECT; LOOP -- 收集数据 FETCH P_COLLECT BULK COLLECT INTO VN_ID, VS_NAME, VD_DATE; FOR I IN VN_ID.FIRST .. VN_ID.LAST LOOP CASE VN_ID(I): WHEN 1 THEN UPDATE APPS.SYS_USER A SET A.LAST_UPDATE_DATE = VD_DATE(I) WHERE A.USER_ID = VN_ID(I); CASE 2 THEN UPDATE APPS.SYS_USER A SET A.Create_By = vs_name(i) WHERE A.USER_ID = VN_ID(I); CASE 3 THEN UPDATE APPS.SYS_USER A SET A.Last_Update_By = vs_name(i) WHERE A.USER_ID = VN_ID(I); ELSE NULL; COMMIT; END IF; END LOOP; EXIT WHEN P_COLLECT%NOTFOUND; END LOOP; CLOSE P_COLLECT; END PRO_COLLECT_TEST;
相关文章推荐
- oracle批量绑定 forall bulk collect用法以及测试案例
- 批量执行 bulk collect与forall用法
- oracle批量绑定 forall bulk collect用法以及测试案例
- oracle学习之bulk collect用法
- SQL Cursor 基本用法[用两次FETCH NEXT FROM INTO语句?]
- fetch bulk collect into 简单学习
- fetch bulk collect into 批量效率的读取游标数据
- oracle学习之bulk collect用法
- ORACLE 游标 批量提取数据 FETCH BULK COLLECT
- Oracle 中使用 fetch bulk collect into 批量效率的读取游标数据
- fetch bulk collect into 批量效率的读取游标数据
- Oracle 中使用 fetch bulk collect into 批量效率的读取游标数据
- ORACLE PL/SQL开发--bulk collect的用法
- fetch bulk collect into 批量效率的读取游标数据【转载】
- oracle批量绑定 forall bulk collect用法以及测试案例
- oracle学习之bulk collect用法
- Oracle 中使用 fetch bulk collect into 批量效率的读取游标数据
- fetch bulk collect into 批量效率的读取游标数据 【转载】
- day13_普通表转换成分区表——oracle学习之bulk collect用法
- Oracle 中使用 fetch bulk collect into 批量效率的读取游标数据