no se que base de datos uses, pero si es oracle te puedes crear un trigger que te haga eso... no es muy dificil... es solo comparar "SYSDATE"(fecha actual) con alguna otra fecha... y pues dependiendo lo que de ya sea en meses o en dias pues haces que se ejecute...xD
y como dice brujoNic... con el lenguaje que estés programando pues te creas alguna función que haga eso...xD
se me olvidaba.... si tienes la base en mysql, pues tambien puedes programarte el trigger :P ejjeje asi no tienes que hacer cosas a nivel de la aplicacion sino directamente desde la base
http://sentidoweb.com/2006/09/01/triggers-en-mysql.php
nunca he usado progrest asi que de esa no se como ira el tema de los triggers :P
dew