Jest. Mozesz wykorzystać cursor SQL
Ogolnie rzecz biorąc SQL zwraca ci informacje na temat ostatniego sql statement, wiecej masz w dokumentacji:
http://docs.oracle.com/cd/B19306_01/appdev.../sql_cursor.htmDla przykladu:
BEGIN
DELETE FROM employee
WHERE first_name = 'kowalski';
IF (SQL%NOTFOUND)
THEN
dbms_output.put_line('Brak danych do usunięcia.');
END IF;
END;
Podobnie robisz z updatem
Jest tylko jeden wyjatek ze zwykłem selektem
Mianowicie
SELECT employee.name
INTO lv_emp_name
FROM employee
WHERE employee.id = 5;
IF SQL%NOTFOUND then
dbms_output.put_line('Brak danych.');
end IF;
Wiadomo dlaczego prawda?
W takiej sytucji stosujesz block
begin...exception when no_data_found then....end;