Você pode obter alguns itens relacionados ao cliente em o
USERENV
contexto
, mas não variáveis de ambiente arbitrárias. Se você puder criar um arquivo em sua máquina local, poderá usar o
host
comando
para definir uma variável de substituição com base em uma variável de 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.
Não muito bonito, mas se você não puder passar as variáveis na linha de comando como parâmetros posicionais, suas opções serão bastante limitadas.
Isso está usando caminhos e comandos Unix-y, é claro, mas você pode fazer o mesmo tipo de coisa no Windows.