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

Kann SQL*Plus Umgebungsvariablen von dem Rechner lesen, auf dem es läuft?

Sie können ein paar Client-bezogene Dinge von the USERENV Kontext , aber keine beliebigen Umgebungsvariablen.

Wenn Sie eine Datei auf Ihrem lokalen Computer erstellen können, können Sie verwenden der host Befehl um eine Substitutionsvariable basierend auf einer Umgebungsvariablen zu setzen:

SQL > host echo define homedir=$HOME > /tmp/gethome.sql

SQL > @/tmp/gethome.sql
SQL > host rm -f /tmp/gethome.sql

SQL > select '&homedir.' as home from dual;

HOME
------------
/home/apoole

1 row selected.

Nicht sehr hübsch, aber wenn Sie die Variablen auf der Kommandozeile nicht als Positionsparameter übergeben können, dann sind Ihre Möglichkeiten ziemlich begrenzt.

Dies verwendet natürlich Unix-y-Pfade und -Befehle, aber Sie können dasselbe in Windows tun.