Cześć,
Mam takie dwa zadanka i nie za bardzo wiem co w nich nie działa.
W pierwszym wydaje mi się, że jest problem, albo z pętlą, albo z poleceniem wprowadzenia danych:
Treść zadania:
Dana jest tabela: CREATE TABLE liczby(liczba INT);
Napisać procedurę o nazwie wpisz_parzyste(p_od,p_do), która
wpisze do tabeli liczby wszystkie liczby parzyste z przedziału <p_od,p_do>.
Napisać instrukcję testującą działanie utworzonej procedury.

Moje rozwiązanie:

CREATE TABLE liczby(liczba INT);
/
SET SERVEROUTPUT ON
/
CREATE OR REPLACE PROCEDURE wpisz_parzyste IS
p_od NUMBER:=1;
p_do NUMBER:=100;
BEGIN
LOOP
p_od:=p_od+1;
IF mod(liczba,2)=0
then
INSERT INTO liczby values(liczba);
exit when p_od=p_do;
end loop;
end if;
end;

W dowolnej procedurze sprowokuj i obsłuż wyjątek NO_DATA_FOUND.
Nie ma znaczenia co robi dana procedura.
Zademonstruj działanie zaimplementowanej procedury.

Tutaj nie za bardzo nawet wiem, jak wywołać ten wyjątek:

CREATE TABLE tabela(id NUMBER);
/
SET SERVEROUTPUT ON
/
CREATE OR REPLACE PROCEDURE wyjatek IS
v_ds NUMBER;
BEGIN
select count(*) into id from tabela;
EXCEPTION
WHEN NO_DATA FOUND THEN
dbms_output.put_line('Wykryto wyjątek NO DATA FOUND');

Z góry dzięki za podpowiedzi.