Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Nadia Teles

[Resolvido] De: Criar Store Procedure

Recommended Posts

Boa tarde Pessoal.

 

Nunca criei store procedure no oracle e agora preciso fazê-lo.

 

Preciso que diariamente esta store procedure seja executada para limpar uma determinada tabela com base na data. Qual é a melhor maneira de fazer isto?

 

Como crio um job para esta execução?

 

Att.

 

Nádia

Compartilhar este post


Link para o post
Compartilhar em outros sites

Muito obrigada pela ajuda. Já criei a procedure e o job e estão funcionando.

 

Mas ainda tenho dúvidas:

 

Minha procedure irá limpar 5 tabelas do banco de dados de acordo com a data que cada tabela contem, ou seja, permanecerão registros somente de 6 meses em diante. Veja exemplo abaixo. Coloquei todos os comandos dentro da procedure.

 

--Exemplo de um dos comandos

delete from Teste where data < to_char(sysdate - 180, 'RRRRMMDD');

commit;

 

Duvida 1:

Caso dê erro na limpeza de alguma tabela como o oracle trata isto? Ele executa denovo?

 

Duvida 2:

Como estou fazendo a limpeza com base na data, é possivel ocorrer um erro no oracle e limpar todos os registros da tabela? Isto não pode acontecer jamais. Devo usar rollback, me de um exemplo caso seja necessário.

 

Obrigada

 

Nádia

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que eu faço em jobs é mandar um email após a execução sinalizando se foi ok ou se deu zebra, assim fica fácil monitorar pois email você lê todo dia.

 

Na parte de scripts tem um de envio de email que creio que você possa usar.

 

 

Duvida 1:

Não irá fazer , corriga o erro e rode novamente.

 

Duvida 2:

Como estou fazendo a limpeza com base na data, é possivel ocorrer um erro no oracle e limpar todos os registros da tabela?

 

Só se houver erro na query.

 

Isto não pode acontecer jamais. Devo usar rollback, me de um exemplo caso seja necessário.

 

Em caso de erro dê rollback , e lembre de commitar após termino ok.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.