W Oracle PL/SQL zmienna systemowa do przechowywania liczby usuniętych / wstawionych / zaktualizowanych wierszy to:
SQL%ROWCOUNT
Po instrukcji DELETE/INSERT/UPDATE i PRZED ZATWIERDZENIEM możesz przechowywać SQL%ROWCOUNT w zmiennej typu NUMBER. Pamiętaj, że COMMIT lub ROLLBACK resetują do ZERO wartość SQL%ROWCOUNT, więc musisz skopiować wartość SQL%ROWCOUNT do zmiennej BEFORE COMMIT lub ROLLBACK.
Przykład:
BEGIN
DECLARE
affected_rows NUMBER DEFAULT 0;
BEGIN
DELETE FROM feeds_item
WHERE shareurl = re1;
affected_rows := SQL%ROWCOUNT;
DBMS_OUTPUT.
put_line (
'This DELETE would affect '
|| affected_rows
|| ' records in FEEDS_ITEM table.');
ROLLBACK;
END;
END;
Znalazłem również to interesujące ROZWIĄZANIE (źródło:http://markmail.org/message/grqap2pncqd6w3sp )