Como executar um Schering dentro de uma trigger

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
William Dutra
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Sex, 20 Jul 2018 8:18 pm

Estou com um problema para executar um JOB dentro de uma trigger. Quando crio a trigger eu chamo um job que chama uma procedure de exclusão, porém quando eu faço isso o JOB executa a procedure direto sem dar o intervalo que eu setei no JOB. Alguém tem a ideia do porque isso acontece e como resolver? :( :?:
DanielNN
Moderador
Moderador
Mensagens: 641
Registrado em: Seg, 03 Set 2007 3:26 pm
Localização: Fortaleza - CE
att,

Daniel N.N.

Como está a criação desse JOB?
Ele possui a info de start_date?
Sua trigger não é acionada várias vezes ao ponto de atrapalhar,sempre recriando o JOB?

Segue exemplo de criação de JOB:

Selecionar tudo

BEGIN
DBMS_SCHEDULER.CREATE_JOB (
   job_name           =>  'update_sales',
   job_type           =>  'STORED_PROCEDURE',
   job_action         =>  'OPS.SALES_PKG.UPDATE_SALES_SUMMARY',
   start_date         =>  '28-APR-08 07.00.00 PM Australia/Sydney',
   repeat_interval    =>  'FREQ=DAILY;INTERVAL=2', /* every other day */
   end_date           =>  '20-NOV-08 07.00.00 PM Australia/Sydney',
   job_class          =>  'batch_update_jobs',
   comments           =>  'My new job');
END;
https://docs.oracle.com/cd/B28359_01/se ... ADMIN12384
William Dutra
Rank: Estagiário Júnior
Rank: Estagiário Júnior
Mensagens: 2
Registrado em: Sex, 20 Jul 2018 8:18 pm

Então Daniel, sim a trigger é executada varias vezes sim, para ser mais preciso ele é executada todas vez que é inserido um registro em determinada tabela, minha ideia era que quando executado, ou melhor iserido na tabela, esse registro o JOB pegasse o id ou qualquer outro campo chave desse registro e contasse até uma hora para executar uma procedure de deleção passando esse parâmetro. :|
DanielNN
Moderador
Moderador
Mensagens: 641
Registrado em: Seg, 03 Set 2007 3:26 pm
Localização: Fortaleza - CE
att,

Daniel N.N.

Como alternativa, tu não terias um campo com a data de inserção? Então de hora em hora um JOB (criado normalmente) excluiria todos registros com mais de uma hora?
Responder
  • Informação
  • Quem está online

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