Procedures

11/12/2003 - 12:09 por Setnis | Informe spam
Hola a todos,

Se puede crear un procedimiento en SQL Server y que éste
se ejecute cada cierto tiempo. Por ejemplo, cada mes. No
estoy muy puesto en el tema, pero por lo que he visto el
comando que ejecuta los Procedures es el Execute.

El tema es que quiero crear una sentencia q compruebe un
campo fecha, de tal manera que si ese campo es anterior a
la fecha del sistema se eliminen esas filas de la base de
datos.

DECLARE @fecha
@fecha = getdate()
IF EXIST(SELECT * FROM tabla_name
WHERE delete_date < @fecha)
DELETE FROM tabla_name WHERE delete_date < @fecha

Creo q este seria el procedimiento, mi problema es como
hacer q esto se ejecute cada cierto intervalo de tiempo.

Espero haberme explicado con claridad.
Muchas gracias por vuestro tiempo
 

Leer las respuestas

#1 Pablo O. Abbate
11/12/2003 - 12:48 | Informe spam
Hola:

En SQL Server existe un servicio conocido como el Agente SQL. Entre otras
cosas, el agente puede ejecutar tareas programadas de acuerdo a una
frecuencia dada.
Lo único que debes hacer es ir al Entrerprise Manager y hacer lo siguiente:

1) Abrir el árbol de la siguiente forma:
Microsoft SQL Servers >> (Nombre del Servidor) >> Management >> Jobs
2) Botón Derecho, New Job y le especificas, entre otras cosas, el nombre del
job, la secuencia de pasos a ejecutar (donde indicarás el nombre de tu store
procedure) y, por último, la frecuencia con la cual quieres que se ejecute
el sp.

3) Fijate que el Agente SQL esté funcionando.

Espero que te sirva.

Saludos.

Pablo O. Abbate
MCDBA - MCAD - MCSD - MCT
www.auladat.es


"Setnis" escribió en el mensaje
news:036a01c3bfd7$4fc4fe90$
Hola a todos,

Se puede crear un procedimiento en SQL Server y que éste
se ejecute cada cierto tiempo. Por ejemplo, cada mes. No
estoy muy puesto en el tema, pero por lo que he visto el
comando que ejecuta los Procedures es el Execute.

El tema es que quiero crear una sentencia q compruebe un
campo fecha, de tal manera que si ese campo es anterior a
la fecha del sistema se eliminen esas filas de la base de
datos.

DECLARE @fecha
@fecha = getdate()
IF EXIST(SELECT * FROM tabla_name
WHERE delete_date < @fecha)
DELETE FROM tabla_name WHERE delete_date < @fecha

Creo q este seria el procedimiento, mi problema es como
hacer q esto se ejecute cada cierto intervalo de tiempo.

Espero haberme explicado con claridad.
Muchas gracias por vuestro tiempo

Preguntas similares