Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Spool-Befehl:SQL-Anweisung nicht in Datei ausgeben

Leider berücksichtigt SQL Developer das set echo off nicht vollständig Befehl, der dies (scheinbar) in SQL*Plus lösen würde.

Die einzige Problemumgehung, die ich dafür gefunden habe, besteht darin, das, was Sie tun, als Skript zu speichern, z. test.sql mit:

set echo off
spool c:\test.csv 
select /*csv*/ username, user_id, created from all_users;
spool off;

Rufen Sie dann von SQL Developer nur dieses Skript auf:

@test.sql

Und führen Sie das als Skript aus (F5).

Das Speichern als Skriptdatei sollte für etwas anderes als eine Ad-hoc-Abfrage sowieso keine große Schwierigkeit darstellen. und das mit @ ausführen Anstatt das Skript zu öffnen und direkt auszuführen, ist es nur ein bisschen mühsam.

Ein bisschen Suchen fand die gleiche Lösung im SQL-Entwicklerforum, und das Entwicklungsteam schlägt vor, dass es absichtliches Verhalten ist, um das nachzuahmen, was SQL*Plus tut; Sie müssen ein Skript mit @ ausführen dort auch, um den Abfragetext auszublenden.