sql >> Base de Datos >  >> RDS >> Oracle

Problemas cuando el usuario ingresa datos en el comando sql

Las variables de sustitución opcionalmente terminan con un punto para separarlos de los caracteres que siguen. Si también desea usar uno en la cadena, debe agregar esa terminación explícitamente:

spool E:\abc\Test\File1_&MYPeriod..csv

Para el problema de las dos líneas adicionales, agregue set verify off ; en este momento está configurado en on (de forma predeterminada) para que le muestre el valor antiguo y el nuevo de cualquier variable de sustitución que utilice.

La única forma que conozco de incluir la fecha en el nombre del archivo es ponerlo primero en una variable de sustitución:

set termout off
column x_run_dt new_value y_run_dt
select to_char(sysdate, 'YYYYMMDDHH24MISS') as x_run_dt from dual;
set termout on
spool E:\abc\Test\File1_&MYPeriod._&y_run_dt..csv

El new_value cláusula le permite crear una variable de sustitución, &y_run_dt en este caso, con un valor de una columna consultada, x_run_dt . Envolviendo la selección que genera ese valor entre set termout las cláusulas lo ocultan de la salida normal, cuando se ejecuta como un script.