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;
procedure que não esta funcionando
-
- 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
-
- 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
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
-
- 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
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:
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:
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;
-
- 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É +
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes