forall and bulk collect
来源:互联网 发布:淘宝网.连衣裙 编辑:程序博客网 时间:2024/06/05 02:44
DECLARE
TYPE DeptList IS VARRAY(20) OF NUMBER;
depts DeptList := DeptList(10, 30, 70); -- department numbers
BEGIN FORALL i IN depts.FIRST..depts.LAST
DELETE FROM emp WHERE deptno = depts(i);
END;
The above DELETE statement is sent to the SQL engine just once, even though it performs three DELETE operations:
DECLARE TYPE DeptList
IS VARRAY(10) OF NUMBER;
depts DeptList := DeptList(10,20,30,40,50);
BEGIN
FORALL j IN 3..5 -- bulk-bind only part of varray
UPDATE emp SET sal = sal * 1.10
WHERE deptno = depts(j);
END;
As the following example shows, the bounds of the FORALL loop can apply to part of a collection, not necessarily all the elements:
DECLARE
TYPE enoTab IS TABLE OF emp.empno%TYPE;
TYPE enameTab IS TABLE OF emp.ename%TYPE;
enum enoTab; -- no need to initialize
Name enameTab;
BEGIN SELECT empno, ename
BULK COLLECT INTO enum, name FROM emp;
END;
The target is to reduce the context switch between SQL engine and PL/SQL engine.
- forall and bulk collect
- BULK COLLECT,FORALL
- orcle 批量提取和批量插入 BULK COLLECT and FORALL
- bulk collect,forall,fetch..limit
- Oracle Forall 与BULK COLLECT
- bulk collect,forall,fetch..limit
- oracle forall 和 BULK COLLECT
- ORACLE的BULK COLLECT和FORALL
- ,FORALL和bulk collect的使用
- FORALL与BULK COLLECT的使用方法:
- ORACLE 批量绑定 FORALL 与 BULK COLLECT
- oracle10g批量绑定forall bulk collect
- ORACLE批量绑定FORALL与BULK COLLECT
- 【转,改】forall与bulk collect
- FORALL与BULK COLLECT的使用方法
- ORACLE批量绑定FORALL与BULK COLLECT
- oracle forall,bulk collect的使用
- ORACLE批量绑定FORALL与BULK COLLECT
- 水文分析与计算——年均流量及年极值洪量
- 开发那点事系列四 - 如何构建高效Ajax应用
- rcS中启动udevd
- request、session、application学习
- 成为Java高手的25个学习目标
- forall and bulk collect
- 二十、类加载实例
- 水文分析与计算——年均流量趋势检验(Mann-Kendall法、线性回归法)
- oracle学习之to_number方法(字符串转数字)
- STL容器之vector
- provider:命名管道提供程序,error40 -无法打开到SQL Server连接
- Linux下 zip 和 unzip的用法
- 汉字UNICODE编码范围
- 水文分析与计算——代表性分析(滑动平均法)