Amigo, Coloque o delete dentro de um bloco:
BEGIN FOR x IN .... LOOP BEGIN DELETE EXCEPTION WHEN OTHERS THEN NULL; END; END LOOP; COMMIT; END; _____ De: oracle_br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de João S. Araújo Enviada em: sexta-feira, 18 de janeiro de 2008 07:22 Para: oracle_br@yahoogrupos.com.br Assunto: [oracle_br] Exception em Loop de cursor Bom dia galera, Estou precisando de uma ajuda para tratar exceções que ocorram dentro de loops de cursores. Tentei simplificar o problema ao máximo no exemplo abaixo, porém sem mudar o escopo do que preciso. Se alguém puder me ajudar, desde já agradeço. begin for x in (select id_pai from pai) loop delete from pai where id_pai = x.id_pai; -- nesse ponto uma exceção qualquer é gerada, no exemplo o id_pai é FK na tabela filho exception when others then null; -- preciso que a exceção ignore a exclusão da linha corrente do cursor, -- porém preciso que o cursor não seja abortado e continue a processar end loop; -- a exclusão das demais linhas que não sejam FK na tabela filho. Commit; end; Obrigado! João [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]