create or replace procedure proc3(p_grade number)
is
type emp_ref_cur is REF CURSOR return employees%ROWTYPE;
emp_cur emp_ref_cur;
emp_rec emp_cur%ROWTYPE;
emp_lname employees.last_name%TYPE;
begin
if p_grade = 1 then
dbms_output.put_line('employees earning more than 15000 are: ');
open emp_cur for select * from employees where salary/1000 > 15;
elsif p_grade = 2 then
dbms_output.put_line('employees earning less than 15000 are: ');
open emp_cur for select * from employees where salary/1000 < 15;
end if;
loop
fetch emp_cur into emp_rec;
dbms_output.put_line(emp_rec.last_name || ' earns: '||emp_rec.salary);
exit when emp_cur%NOTFOUND;
end loop;
close emp_cur;
end;
/
is
type emp_ref_cur is REF CURSOR return employees%ROWTYPE;
emp_cur emp_ref_cur;
emp_rec emp_cur%ROWTYPE;
emp_lname employees.last_name%TYPE;
begin
if p_grade = 1 then
dbms_output.put_line('employees earning more than 15000 are: ');
open emp_cur for select * from employees where salary/1000 > 15;
elsif p_grade = 2 then
dbms_output.put_line('employees earning less than 15000 are: ');
open emp_cur for select * from employees where salary/1000 < 15;
end if;
loop
fetch emp_cur into emp_rec;
dbms_output.put_line(emp_rec.last_name || ' earns: '||emp_rec.salary);
exit when emp_cur%NOTFOUND;
end loop;
close emp_cur;
end;
/