Можете да получите няколко неща, свързани с клиента, от USERENV
контекст
, но не произволни променливи на средата.
Ако можете да създадете файл на вашата локална машина, можете да използвате host
команда
за да зададете заместваща променлива въз основа на променлива на средата:
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.
Не е много красиво, но ако не можете да подадете променливите на командния ред като позиционни параметри, тогава вашите възможности са доста ограничени.
Това разбира се използва Unix-y пътеки и команди, но можете да правите същото нещо в Windows.