FORALL 批量查询语句
语法图
说明:- 变量index 会自动定义为integer 类型并且只在此循环里存在。index 的
取值介于low_bound 和upper_bound 之间。- 如果声明了SAVE EXCEPTIONS,则会将循
环体DML 执行过程中每次遇到的异常保存在SQL&BULK_EXCEPTIONS 中,并在执行结
束后统一抛出一个异常,循环过程中没有异常的执行的结果在当前子事务内不会回滚。
示例
CREATE TABLE hdfs_t1 (
title NUMBER(6),
did VARCHAR2(20),
data_period VARCHAR2(25),
kind VARCHAR2(25),
interval VARCHAR2(20),
time DATE,
isModified VARCHAR2(10)
);
GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
652
INSERT INTO hdfs_t1 VALUES( 8, 'Donald', 'OConnell', 'DOCONNEL', '650.507.9833',
to_date('21-06-1999', 'dd-mm-yyyy'), 'SH_CLERK' );
CREATE OR REPLACE PROCEDURE proc_forall()
AS
BEGIN
FORALL i IN 100..120
update hdfs_t1 set title = title + 100*i;
END;
/
--调用函数
CALL proc_forall();
--查询存储过程调用结果
SELECT * FROM hdfs_t1 WHERE title BETWEEN 100 AND 120;
--删除存储过程和表
DROP PROCEDURE proc_forall;
DROP TABLE hdfs_t1;