PL/SQL Varray
PL/SQL Varray – How to write syntax, example.
Unlike indexed arrays, varrays have a maximum size seted on the declaration. The PLSQL Varray are used on one-to-many relationships.
The Varray syntax is:
TYPE type_name IS {VARRAY | VARYING ARRAY} (size_limit) OF element_type [NOT NULL];
Varray example 1:
DECLARE TYPE type_no IS VARRAY(20) OF NUMBER; id type_no := type_no(1200,1250,1401); BEGIN FORALL i IN id.FIRST..id.LAST DELETE FROM customers WHERE customer_id = id (i); END;
Varray example 2:
DECLARE TYPE type_custno IS TABLE OF customers.customer_id%TYPE; TYPE type_name IS TABLE OF customers.first_name%TYPE; v_custno type_custno; v_name type_name; BEGIN SELECT customer_id,first_name BULK COLLECT INTO v_custno,v_name FROM customers; DBMS_OUTPUT.PUT_LINE('Start'); DELETE FROM customers WHERE email IS NULL RETURNING customer_id,first_name BULK COLLECT INTO v_custno, v_name; DBMS_OUTPUT.PUT_LINE('End'); END;