Oracle
 sql >> Base de données >  >> RDS >> Oracle

SQL*Plus peut-il lire les variables d'environnement à partir de la machine sur laquelle il s'exécute ?

Vous pouvez obtenir quelques informations relatives au client sur le USERENV contexte , mais pas des variables d'environnement arbitraires.

Si vous pouvez créer un fichier sur votre ordinateur local, vous pouvez utiliser l'host commande pour définir une variable de substitution basée sur une variable d'environnement :

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.

Pas très joli, mais si vous ne pouvez pas passer les variables sur la ligne de commande en tant que paramètres positionnels, vos options sont plutôt limitées.

Cela utilise bien sûr des chemins et des commandes Unix-y, mais vous pouvez faire le même genre de chose sous Windows.