J. Laurindo, acho que essa seria a forma correta de fazer só que iria me dar bastante trabalho e consequentemente consumir um tempo que já não tenho.
Bom, resolvi de outra forma o problema. Fiz uma validação dentro da PROC mesmo, só verifico se a data atual está entre o dia 10 e o ultimo dia do mês atual, se a condição for valida eu executo o resto da proc. O JOB coloquei para executar todo dia. Acho que não ficou legal e que não é o correto. Enfim, o que você acha disso? é uma gambiarra? Abraços Saulo Brito Em 6 de setembro de 2013 15:22, J. Laurindo Chiappa <jlchia...@yahoo.com.br>escreveu: > ** > > > Primeira coisa, para agendamentos mais complexos do tipo o ** IDEAL **, > mais simples / menos trabalhoso, é vc usar a opção de executar JOBs pelo > ORACLE SCHEDULER, que foi introduzido na versão 10g : caso vc esteja com > RDBMS em versão mais antiga que isso, aí vai ser bem mais trabalhoso, > provavelmente o que vc faria no caso seria criar e manter uma TABELA com os > dias em que a procedure deve rodar e criar um JOB que dispare todo dia mas > a cada vez leia a tabela e veja se "hoje é dia" da proc rodar, se não for > não roda... > > Sendo banco 10g ou superior : pelo que vejo vc quer rodar Mensalmente, nos > dias dos meses de 10 até 31 , então ficaria + ou - assim : > > > BEGIN > DBMS_SCHEDULER.create_job ( > job_name => 'nomedoteujob', > job_type => 'PLSQL_BLOCK', > job_action => 'BEGIN nomedaprocedureaserrodada; END;', > start_date => TO_DATE('10/09/2013 ....', > repeat_interval => 'FREQ=MONTHLY; BYMONTHDAY=10,11,12,13,14.....31;', > end_date => TO_DATE('30/11/2013....', > enabled => TRUE, > comments => 'Comentários do teu job.'); > END; > / > > Blz ? qquer dúvida mais sobre sintaxes e conceitos, dá um look em > http://www.oracle-base.com/articles/10g/scheduler-10g.php e no manual > "Oracle® Database Administrator's Guide" da tua versão de RDBMS, que vc > terá um capítulo "Scheduling Jobs with Oracle Scheduler" , e se ainda assim > não conseguir, retorna com os detalhes de versão que a gente tenta te > ajudar mais... > > []s > > Chiappa > > OBS : só um detalhe : para se poder criar jobs normalmente o DBA ** tem ** > que te dar privilégios específicos, então Confira com o teu DBA se o seu > usuário no banco os tem, yep ?? > > --- Em oracle_br@yahoogrupos.com.br, Saulo Brito <saulo.brito01@...> > escreveu > > > > > Olá, sou desenvolvedor e me passaram uma tarefa de criar um JOB que > executa > > uma proc. > > > > Já fiz a proc só que nunca fiz um JOB na vida, e estou com a seguinte > > dúvida: > > > > - Como faço a regra pro JOB ser executado de uma data X até o final do > mês > > consecutivamente? > > > > Por exemplo: > > > > dia 10/09 até dia 30/09 > > > > e continuar > > > > dia 10/10 até dia 31/10 > > dia 10/11 até dia 30/11 > > > > > > Pesquisei no google e tentei algumas coisas sem sucesso. > > Poderiam me ajudar? Só a regra mesmo. > > > > > > Obrigado, > > > > Saulo Brito > > > > >