I have a sample code for FORALL
CREATE TABLE dummy (n NUMBER);
DECLARE
TYPE numbers_t IS TABLE OF NUMBER;
num numbers_t := numbers_t ();
BEGIN
FORALL indx IN NULL .. 10
INSERT INTO dummy (n)
VALUES (num (indx));
DBMS_OUTPUT.put_line ('No error');
EXCEPTION
WHEN VALUE_ERROR
THEN
DBMS_OUTPUT.put_line ('Error');
END;
Output
No error
Why FORALL does not throw value error like for loop statement when bind array's upper or lower bound is null?