Limpiar base de datos.

Hola a todos, tengo una web desarrollada en asp y sql con un catalogo de productos y carrito de la compra. Los productos pueden ponerse en oferta hasta una fecha limite, momento en el cual debería desaparecer la oferta. Yo puedo hacer por código ASP que si la fecha oferta es inferior a la fecha ahora no me enseñe dicha oferta, pero si miramos en la base de datos o en la ficha del producto veremos que aún existe esa oferta.
¿Cómo puedo hacer para que en el servidor sql se ejecute una acción una vez al día que compruebe todas las fechas de los productos en oferta y en caso de ser inferior a la fecha actual edite esos productos para quitar el bit de oferta?
Gracias
Respuesta
1
Puedes generar una sentencia directa el query analizer y correrla cada que la necesites para actualizar el bit y comparando las fechas que comentas.
update mitabla set micampo = no where micampofecha >= "20050101" and micampofecha >= "20050131"
Eso es lo que hago hasta ahora, he creado en el sistema administrador de la web (unos formularios asp) una página que hace eso, para que pueda hacerlo quien sea con conocimiento 0 de programación...
Lo que quería era automatizar el trabajo. En mi servidor local en el SQLserver he creado un Agent Job que me lo hace, pero en el servidor online, alojado en Arsys.es, al tratarse de un servidor SQL compartido, no permiten el uso de Agent Jobs... así que no se si hay alguna otra solución...
Lo único que se me ocurre sería colocar el código en el mismo sitio que tienes, que al momento de iniciarlo haga esta validación y limpieza.
La otra sería que tengas un procedimiento en una página de administración que ejecutes una vez al día y realice la limpieza.
Porque de otra forma no veo como se pueda lograr.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas