puedes separar la consulta en partes, por ejemplo:
insert into tabla(...)
values(...)
se transforma en:
insert into tabla(...)
values(...)
where campo between (
![Stick Out Tongue](http://www.clubdelphi.com/foros/images/smilies/tongue.gif)
aram1 and
![Stick Out Tongue](http://www.clubdelphi.com/foros/images/smilies/tongue.gif)
aram2)
y vas ejecutando cada parte de manera que juntas completan el todo. 'campo' puede ser un campo fecha, etc...
puedes hacer tambien un procedimiento almacenado y lanzar una señal cada cierto tiempo desde el procedimiento a tu aplicacion. nunca lo he hecho, pero se que en la paleta de interbase (por poner un ejemplo) hay un componente que captura señales enviadas por la base de datos para que el programa actualice registros, etc...