Pular para o conteúdo
#87022
Avatar de IshiiIshii
Participante

    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

    plugins premium WordPress