Je veux faire cela dans SQLPlus: définir un fichier qui contient la date du jour dans son nom et spooler la sortie d'une instruction SQL dans ce fichier. Je sais comment spouler la sortie d'une instruction SQL dans un fichier. Je ne sais pas comment déclarer le nom du fichier en tant que variable contenant la date du jour. Par exemple, sélectionnez toutes les lignes avec l'horodatage du jour de la table ERROR et affichez les résultats dans un fichier appelé TODAYS_ERRORS_YYYYMMDD.log
.Définition de variable SQLPlus
J'utilise un fichier BAT qui invoque SQL plus comme suit:
sqlplus -silent user/[email protected] @c:\temp\error_query.sql
Je suis en mesure d'exécuter le fichier de chauve-souris au-dessus et sortir les succès des lignes à un fichier avec un nom de fichier statique, comme TODAYS_ERRORS.log
. Je ne sais pas comment déclarer le nom du fichier afin qu'il contienne la date du jour dans son nom.
Voici comment mon fichier error_query.sql
ressemble en ce moment:
set feedback off;
set echo off;
spool c:\temp\TODAYS_ERRORS.log
SELECT created_time AS "Created Time",
error_severity AS "Severity",
error_desc AS "Error Text"
FROM ERROR
WHERE
to_date(to_char(created_time,'YYYYMMDD') = to_date(to_char(sysdate,'YYYYMMDD');
spool off;
exit;