none
Criar JOB a partir de uma trigguer, para executar entro de 15 segundos RRS feed

  • Pergunta

  • Estou convertendo uma Estrutura de Base de dados do Oracle para SQL Server 2005, cheguei numa trigguer que faz o seguinte: para cada registro inserido ou alterado a mesma habilita (ou cria) um JOB para dali 15 segundos executar uma determinada rotina, código oracle: (pode ocorrer de uma vez só criar uma fila de 100 jobs, se no caso for modificado 100 registros)

     

    dbms_job.submit(i,'pr_atualiza_conta('||util_isc.v_iddatidentific||','||util_isc.v_numepisodio||','||CHR(39)||util_isc.v_tipomovto||CHR(39)||','||util_isc.v_anoepisodio||');',sysdate + 1/24/60/4);

     

    A minha dúvida é como fazer isso no SQL-Server, pelo que li até agora, eu tenho que criar um JOB um objeto no banco e outro objeto de STEP para execução, mas como funcionaria, se quando ocorrer de eu ter que enfilerar x itens para executar?

     

    Estou criando um teste para executar JOB, só que está dando erro, na verdade erro não está mostrando, mas se analisar a rotina a baixo a cada execução deveria criar um registro... mas não está criando:

     

    exec msdb..sp_add_job @job_name=N'Atualiza_Conta'

     

    --

    --Quero que executa acada 15 segundos (mas terei que criar 1 Step para cada?)

    EXEC msdb..sp_add_jobstep

    @job_name = 'Atualiza_Conta',

    @step_name = N'AtualizaConta',

    @subsystem = N'TSQL',

    @command = N'insert into meubanco..testejob (data, contador) values(getdate(),1)',

    @retry_attempts = 1,

    @retry_interval = 0.4

     

    Obrigado

    quinta-feira, 8 de novembro de 2007 13:40