31/01/2008, 10:04
|
| | Fecha de Ingreso: noviembre-2007 Ubicación: Argentina
Mensajes: 134
Antigüedad: 17 años Puntos: 3 | |
Re: Dbms_scheduler.create_job Ya sabia que en algun lado lo tenia... solamente que me costo un poco encontrarlo... algunas sentencias de manejo de Jobs que arme para algunas testers que no sabian mucho del tema.
Bueno.. elo aqui un poco de codigo SQL.
Código:
declare
/*NUMERO DE JOB*/
v_job number(4);
/*SENTENCIA QUE CORRE EL JOB*/
v_what varchar2(2000);
/*FECHA EN LA QUE SE EJECUTA*/
v_next_date date;
/*UNA VEZ QUE SE EJECUTA, ESTE PARAMETRO ESPECIFICA CUANDO SE VA A VOLVER A CORRER*/
v_interval varchar2(100);
begin
v_job := 808;
v_next_date := to_date('11/08/2004 03:05:05','dd/mm/yyyy hh24:mi:ss');
v_interval := 'sysdate + 10/(60*24)';
v_what := null;
dbms_job.change( job => v_job,
what => v_what,
next_date => v_next_date,
interval => v_interval);
/*SI SOLAMENTE SE QUIERE SETEAR ALGUN PARAMETRO, LOS DEMAS VAN EN NULL*/
commit;
end;
/*SENTENCIAS UTILES PARA EL INTERVAL DE UN JOB*/
/*AGREGA 10 MINUTOS AL SYSDATE*/
select sysdate, sysdate + 10/(60*24) from dual
/*AGREGA 20 MINUTOS AL SYSDATE*/
select sysdate, sysdate + 20/(60*24) from dual
/*AGREGA 1 DIA AL SYSDATE*/
select trunc(sysdate) , trunc(sysdate+1) from dual
/*AGREGA 365 DIAS AL SYSDATE*/
select trunc(sysdate) , trunc(sysdate+365) from dual
/*MODIFICA EL SYSDATE A UNA FECHA Y HORA DETERMINADA*/
/*MAÑANA A LAS 5 DE LA MAÑANA*/
select sysdate, trunc(sysdate+1)+5/24 from dual
/*MAÑANA A LAS 5 DE LA TARDE*/
select sysdate, trunc(sysdate+1)+17/24 from dualdual
/*TABLAS Y VISTAS UTILES*/
select * from all_jobs /*WHERE JOB = 808*/;
select * from dba_jobs
select * from dba_jobs_running
/*SENTENCIAS PARA PREPARAR LOS NEXT_DATE*/
select to_date('11/08/2004 03:05:05','dd/mm/yyyy hh24:mi:ss') from dual
select to_date('11082004 030505','ddmmyyyy hh24miss') from dual
/*CORRE EL JOB INDICADO INMEDIATAMENTE*/
dbms_job.run (job => v_job);
Sldos, Mario. |