PROCEDURE nao esta funcionando
criei esta procedure para que execute quando um registro de uma tabela chegar a determinado valor, a mesma deveria estar TRUNCANDO a tabela mas nao esta
ela compila sem erros mas nao TRUNCA a tabela.
por favor me ajudem
create or replace procedure "TRUNCAREINCIDENCIA"
(CDD_REINCIDENCIA IN OUT NUMBER)
is
CD_REINCIDENCIA REINCIDENCIA.CDREINCIDENCIA%TYPE;
begin
SELECT CDREINCIDENCIA INTO CD_REINCIDENCIA FROM REINCIDENCIA
WHERE CDREINCIDENCIA = (SELECT MAX(CDREINCIDENCIA) FROM REINCIDENCIA);
IF CD_REINCIDENCIA = 13 THEN
EXECUTE IMMEDIATE 'TRUNCATE TABLE REINCIDENCIA';
END IF;
end;
ela compila sem erros mas nao TRUNCA a tabela.
por favor me ajudem
create or replace procedure "TRUNCAREINCIDENCIA"
(CDD_REINCIDENCIA IN OUT NUMBER)
is
CD_REINCIDENCIA REINCIDENCIA.CDREINCIDENCIA%TYPE;
begin
SELECT CDREINCIDENCIA INTO CD_REINCIDENCIA FROM REINCIDENCIA
WHERE CDREINCIDENCIA = (SELECT MAX(CDREINCIDENCIA) FROM REINCIDENCIA);
IF CD_REINCIDENCIA = 13 THEN
EXECUTE IMMEDIATE 'TRUNCATE TABLE REINCIDENCIA';
END IF;
end;
Italo Homero
Curtidas 0
Respostas
Roberto Spernega
15/06/2016
Bom dia Italo,
Quando você executa a PROCEDURE retorna algum erro?
Se não, tente colocar um tratamento de exception para retornar o erro.
E veja se a tabela REINCIDENCIA não tem nenhum dependente (FK), caso contrário não pode truncar.
exception
when too_many_rows then
dbms_output.put_line('Select retornou mais de uma linha');
when others then
dbms_output.put_line('Erro '||sqlerrm(sqlcode));
end;
Quando você executa a PROCEDURE retorna algum erro?
Se não, tente colocar um tratamento de exception para retornar o erro.
E veja se a tabela REINCIDENCIA não tem nenhum dependente (FK), caso contrário não pode truncar.
exception
when too_many_rows then
dbms_output.put_line('Select retornou mais de uma linha');
when others then
dbms_output.put_line('Erro '||sqlerrm(sqlcode));
end;
GOSTEI 0