Abfrage entfernen von spool-Ausgabe in SQL-Entwickler mit Variablen
Ich versuche spool-Ergebnisse direkt in eine CSV mit ein paar Variablen-substitution. Ich habe diese Abfrage:
SET echo off
set feedback off
set pagesize 0
set termout off
define startdate='12-JAN-14'
define enddate='01-JUN-14'
define vpath=C:\14-0724_Spool testing\'
define dt='60_testupdate_subvar'
define ext='.csv'
SPOOL &&vpath&&dt&&ext
SELECT /*csv*/table1.SOURCE_DMS_ID,
COUNT(table1. AMOUNT)
FROM table1
WHERE
table1.DATE BETWEEN to_date('&&startdate') and to_date('&&enddate')
--AND table1_DATE BETWEEN '01-JAN-14' and '31-JAN-14'
GROUP BY table1_DIM.SOURCE_DMS_ID;
...genannt wird, mit diesem script:
@"\Results_Feed_Spooled.sql"
Ich speziell nennen es mit einem script (und auch mit den verschiedenen anderen Elementen), so dass die resultierende CSV-Datei hat NICHT die Abfrage in der Datei. Jedoch, die select-Abfrage NICHT erscheint, in der CSV-Datei. Interessanterweise, wenn ich schalten Sie die where-Klausel, um eine tatsächliche Datum (siehe den kommentierten Abschnitt des Abfrage) statt einer Referenz auf die substitution variable, die die Abfrage NICHT angezeigt wird, in die resultierende CSV.
Warum wird die variable in der WHERE-Klausel anstelle der tatsächlichen Werte führen Sie die Abfrage einbezogen werden in die Ergebnis-Datei? Wie kann ich das korrigieren? Es ist wichtig, um die Nützlichkeit des Skripts, ich bin in der Lage, die Variablen verwenden.
(SQL-developer-Version 4.0.0.13)
Dank!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Vorausgesetzt SQL_Developer ist sqlplus kompatibel ist, versuchen Sie zunächst, das hinzufügen von "SET VERIFY OFF" . Wenn das nicht funktioniert, können Sie auch versuchen, indem Sie die Spule, nachdem Sie die Abfrage wie im folgenden Beispiel:
Beachten Sie die leere Zeile nach dem WÄHLEN, und der fehlende Semikolon nach der Anweisung SELECT.
Verwenden
-s
. Das -s-flag bedeutet Stille, eine komplette bash-Skript Aussehen wird etwas wie folgt: