Olá,
Vamos lá…
create or replace procedure sp_priscila as
-- Cursor 1
cursor c1 is
select nome_empregado, nome_companhia from trabalha t
where t.salario > (select AVG (t2.salario) from trabalha t2
where t2.nome_companhia = t.nome_companhia) ;;
-- Cursor 2
cursor c2 is
select t.nome_companhia,sum(salario) salario from trabalha t group by t.nome_companhia
having sum(salario) = (select min(sum(salario)) from trabalha group by nome_companhia)
union
select t.nome_companhia, sum(salario) salario from trabalha t group by t.nome_companhia
having sum(salario) = (select max(sum(salario)) from trabalha group by nome_companhia);
begin
-- Abrindo o cursor 1
for r1 in c1 loop
--
-- Colocando o resultado em tela
--
dbms_output.put_line ('Resultado cursor 1:' || r1.nome_empregado);
--
end loop;
-- Abrindo cursor 2
for r2 in c2 loop
--
-- Colocando o resultado em tela
--
dbms_output.put_line ('Resultado cursor 2:' || r2.nome_companhia);
--
end loop;
end;
Para executar isso no SQL*Plus
SQL>SET SERVEROUTPUT ON size 1000000
SQL>exec sp_priscila ;
Veja se isso funciona….
[]s Ishii