2016-07-27 25 views
0

Was ich tun möchte, ist die SPOOL-Pfad "C: \" zu parametrisieren, so dass ich in der Befehlszeile einen Pfad übergeben kann.SQL * Plus übergeben Pfad zu Skriptdatei von der Befehlszeile

Beispielskript MyFile.sql:

SPOOL "C:\Temp\File.csv" --How do I parameterize this? 
SELECT Column FROM Table 
SPOOL OFF 

Commandline: SQL> @C \ MyFile.sql --Would hier in einem Pfad passieren mag.

Antwort

1

Der einfachste Weg, den ich mir vorstellen kann, würde sqlplus von einer .bat-Datei aufrufen, die den Parameter als Eingabe nimmt, ein primäres SQL-Skript ausgibt, das den Spool + den Parameter enthält und dann Ihr tatsächliches Skript aufruft.

Sie würden jedoch eine extra @ secondary_script_name.sql am Anfang der Ausgabe bekommen.

1

Oder Sie tun können:

SPOOL &1 
SELECT... 
SPOOL OFF 

SQL> @C\MyFile.sql C:\Temp\File.csv