Using %NOTFOUND
DECLARE
CURSOR c1 IS
SELECT last_name,
salary
FROM employees
WHERE ROWNUM < 11;
my_ename employees.last_name%TYPE;
my_salary employees.salary%TYPE;
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO my_ename,my_salary;
IF c1%NOTFOUND THEN -- fetch failed, so exit loop
-- Another form of this test is "EXIT WHEN c1%NOTFOUND OR c1%NOTFOUND IS NULL;"
EXIT;
ELSE -- fetch succeeded
dbms_output.Put_line('Name = '
||my_ename
||', salary = '
||my_salary);
END IF;
END LOOP;
END;
/
Output :-
Name = OConnell, salary = 2600
Name = Grant, salary = 2600
Name = Whalen, salary = 4400
Name = Hartstein, salary = 13000
Name = Fay, salary = 6000
Name = Mavris, salary = 6500
Name = Baer, salary = 10000
Name = Higgins, salary = 12000
Name = Gietz, salary = 8300
Name = King, salary = 24000
PL/SQL procedure successfully completed.
0 comments:
Post a Comment