Disparar Trigger 48 horas depois

DBA Geral (instalação, configuração do banco, scripts do Sql*Plus, shell scripts, batch scripts, etc...)
Responder
Avatar do usuário
David Martins
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 9
Registrado em: Qui, 29 Set 2011 4:48 pm
Localização: RJ
David

Boa dia galera,

Estou precisando criar uma trigger que só pode ser disparada 48 horas depois que o campo data foi inserido.

alguém sabe como fazer?

Obrigado!!!


David Martins
Avatar do usuário
dr_gori
Moderador
Moderador
Mensagens: 5024
Registrado em: Seg, 03 Mai 2004 3:08 pm
Localização: Portland, OR USA
Contato:
Thomas F. G

Você já respondeu a dúvida de alguém hoje?
https://glufke.net/oracle/search.php?search_id=unanswered

Precisa ser exatamente 48 horas depois, e nem 1 segundo a mais ou menos?

Caso não precise ser tão exato, creio que o ideal é você agendar a execução de uma rotina de X em X tempo.
Esse programa ia consultar na sua tabela, no campo data, e buscar as linhas que estão fazendo 48 horas.
OU seja:

SYSDTATE - data > 2
(2 dias = 48 horas)

Aí basta executar o seu programa e marcar essa linha como processada. (pra não ser executada novamente)
Avatar do usuário
stcoutinho
Moderador
Moderador
Mensagens: 850
Registrado em: Qua, 11 Mai 2011 5:15 pm
Localização: são Paulo - SP

David,

Você também poderia executar o comando via JOB, para que fosse executado em exatas 48 horas depois da execução da operação que deu origem a este JOB.

Você poderia criar uma prodedure para executar a operação que você precisa. E a trigger dispararia o JOB executando esta procedure com os parâmetros necessários. Esta procedure poderia logar o resultado da operação em uma tabela de LOG, caso ocorra algum problema.

Mas acho que a forma que DR_GORI orientou lhe daria mais controle sobre o processo a ser executado em 48 horas.

At

Sergio Coutinho
Avatar do usuário
David Martins
Rank: Estagiário Sênior
Rank: Estagiário Sênior
Mensagens: 9
Registrado em: Qui, 29 Set 2011 4:48 pm
Localização: RJ
David

Show!!!
Parece que funcionou mesmo!!!
Voces são demais!!!

Agora é monitorar pra vê se ta tudo ok!!!

Obrigado!!!

Abs...
Responder
  • Informação
  • Quem está online

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