
Using %BULK_ROWCOUNT With the FORALL Statement
DROP TABLE emp_temp CASCADE CONSTRAINTS PURGE;
CREATE TABLE emp_temp
AS
SELECT *
FROM employees;
DECLARE
TYPE numlist IS TABLE OF NUMBER;
depts NUMLIST := Numlist(30,50,60);
BEGIN
FORALL j IN depts.FIRST..depts.LAST
DELETE FROM emp_temp
WHERE department_id = Depts(j);
-- How many rows were affected by each DELETE statement?
FOR i IN depts.FIRST.. depts.LAST LOOP
dbms_output.Put_line('Iteration #'
||i
||' deleted '
||SQL%Bulk_rowcount(i)
||' rows.');
END LOOP;
END;
/
OUTPUT:-
Iteration #1 deleted 6 rows.
Iteration #2 deleted 45 rows.
Iteration #3 deleted 5 rows.
PL/SQL procedure successfully completed.

0 comments:
Post a Comment