Oracle
 sql >> Database >  >> RDS >> Oracle

SQL*Plus può leggere le variabili di ambiente dalla macchina su cui è in esecuzione?

Puoi ottenere alcune cose relative al client da il USERENV contesto , ma non variabili di ambiente arbitrarie.

Se riesci a creare un file sul tuo computer locale, puoi usare l'host comando per impostare una variabile di sostituzione basata su una variabile di ambiente:

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.

Non molto carino, ma se non riesci a passare le variabili sulla riga di comando come parametri posizionali, le tue opzioni sono piuttosto limitate.

Questo sta usando percorsi e comandi Unix-y ovviamente, ma puoi fare lo stesso genere di cose in Windows.