PAGUE 6 MESES
LEVE 12 MESES
GARANTIR DESCONTO

Fórum Ajuda com exercício - cursores e procedures #529128

19/08/2015

0

Boa noite a todos.

Bom, agora tenho uma lista de exercícios de PL/SQL para fazer, e para variar, preciso de ajuda.

Bom, o exercício pede: Utilizando cursores, crie um procedimento que atualize o salário dos funcionários quando passado seu código e o percentual de aumento (se diretoria 20% e se segundo escalão 10%);

Meu código ficou assim:
SET SERVEROUTPUT ON
ACCEPT V_CODFUNC PROMPT 'CODIGO DO FUNCIONARIO'
DECLARE
  CURSOR CUR_EX5
  IS
    SELECT CAR_CODIGO FROM tb_cargo;
  V_CARGO tb_cargo%ROWTYPE;
BEGIN
  OPEN CUR_EX5;
  LOOP
    FETCH CUR_EX5 INTO V_CARGO;
    DBMS_OUTPUT.PUT_LINE(V_CARGO.CAR_DESCRICAO);
    
    CASE WHEN UPPER(V_CARGO.car_descricao) LIKE '%DIRETORIA%'  THEN
      UPDATE tb_cargo
      SET car_salariobase = V_CARGO.car_salariobase + (V_CARGO.car_salariobase * 0.2) WHERE CAR_CODIGO =V_CODFUNC;
      DBMS_OUTPUT.PUT_LINE(V_CARGO.car_salariobase);
      
      ELSE
        UPDATE tb_cargo
        SET car_salariobase = V_CARGO.car_salariobase + (V_CARGO.car_salariobase * 0.1) WHERE CAR_CODIGO =V_CODFUNC;
        DBMS_OUTPUT.PUT_LINE(V_CARGO.car_salariobase);
      END CASE;
    
    EXIT
    WHEN CUR_EX5%NOTFOUND;
     END LOOP;
  END;

Está dando que o identificado V_CODFUNC é inválido (mesmo eu digitando um código de funcionário existente), daí acaba que não faz nada.
Alguém sabe onde está o erro? Acho que a lógica está certa né?
Valeu, abraço!
Paulo Quadros

Paulo Quadros

Responder

Posts

19/08/2015

Paulo Quadros

E tenho outro exercício aqui que estou com dificuldade.
Tenho uma tabela de clientes, e uma de funcionários, e tenho que fazer uma função (já tenho ela, peguei pronta) que valide o CPF. Mas como eu aplico essa função para avaliar o CPF de cada funcionário e de cada cliente?
Obrigado novamente!
Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar