procedure que não esta funcionando

Dúvidas, dicas e truques de PL/SQL. Aqui também vão assuntos relacionados a pacotes, triggers, funções, Java-Stored Procedures, etc
Responder
eduardo.d2
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 67
Registrado em: Ter, 08 Jan 2008 9:13 pm
Localização: são paulo
Eduardo Andrade

Olá a todos do forum estou com uma dificuldade para atualizar alguns registros da tabela usando uma proc, minha proc simplimente não esta atualizando os registro, eo mais estranho que não retorna erro algun, alquem já viu isso ? segue a minha proc

Selecionar tudo

CREATE OR REPLACE PROCEDURE PROC_AUMENTA_SALARIO
(P_CD_FUNCIONARIO IN FUNCIONARIO.CD_FUNCIONARIO%TYPE)
IS
 BEGIN
	 UPDATE FUNCIONARIO
	 SET SALARIO = SALARIO * 1.20
	 WHERE CD_FUNCIONARIO  = P_CD_FUNCIONARIO;
 END PROC_AUMENTA_SALARIO;
schnu
Rank: Analista Pleno
Rank: Analista Pleno
Mensagens: 110
Registrado em: Ter, 24 Mai 2005 9:16 pm
Localização: Dongguan - Guangdong - China

Olá


Como você está executando essa procedure ? Depois de executa-lá você terá que fazer um commit.

A procedure em si está correta, estou achando que há erro na forma que você está executando ela, ou não esta salvando as informações após executar.


Nem tudo ta perdido
voltar para Oracle
Trevisolli
Moderador
Moderador
Mensagens: 2016
Registrado em: Qua, 12 Jan 2005 3:25 pm
Localização: Araraquara - SP
Abraço,

Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP

Brother,

Provavelmente o código que está passando para o FUNC não existe na base de dados.

O Update não cairia em exception de Others.

Faça após o update, um sql%notfound como abaixo:

Selecionar tudo


DECLARE 
 vfunc NUMBER := 90000;
BEGIN
 UPDATE emp
    SET ename = 'XYZ'
  WHERE empno = vfunc;
  -- retorno do update
  IF SQL%NOTFOUND 
  THEN 
    dbms_output.put_line('Não localizei o funcionário: '||vfunc);
  END IF;
EXCEPTION 
 WHEN OTHERS THEN 
   dbms_output.put_line('Erro: '||SQLERRM);  
END;

eduardo.d2
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 67
Registrado em: Ter, 08 Jan 2008 9:13 pm
Localização: são paulo
Eduardo Andrade

VALEU PELO EXEMPLO ABRAÇO ATÉ +
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes