Paso de Fecha a Query Oracle en Unix (Solaris)
Hola, espero que estén bien.
A veces se requiere correr una y otra vez el mismo query sobre una base de datos Oracle instalada en un Unix, y lo único que cambia entre cada corrida es la fecha, así que es muy tedioso estar abriendo el query y modificando la fecha.
Estuve buscando en Internet y en la siguiente ruta encontré una posible solución:
Así que aplique los comentarios a un query de mi trabajo, aquí va un resumen de los pasos:
- Se modifica la consulta para que esta espere el ingreso de los parámetros (en mi query la salida va un archivo vía spool):
.......
WHERE trunc(test_start_time) >= to_date('&1', 'DD/MM/YYYY') AND
trunc(test_start_time) <= to_date('&2', 'DD/MM/YYYY')
.........
Donde &1 es la fecha de inicio y &2 es la fecha final para la consulta.
2. Ahora ejecutas sqlplus, por ejemplo si quieres correr el query para el mes de Diciembre de 2013:
sqlplus user/password@DB_Name @QueryEjecutar.sql '01/12/2013' '31/12/2013'
aquí '01/12/2013' es &1
y
'31/12/2013' es &2
y se obtiene la siguiente salida:
SQL*Plus: Release 10.2.0.5.0 - Production on Mon Jan 6 20:49:01 2014
Copyright (c) 1982, 2010, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Release 10.2.0.5.0 - 64bit Production
Disconnected from Oracle Database 10g Release 10.2.0.5.0 - 64bit Production
como se puede ver el query se ha ejecutado sin ningún fallo.
Gracias, sldos.
Comentarios
Publicar un comentario