Requête SQL depuis un script avec SQL*Plus
Publié le 29 Janvier 2010
J'ai souvent besoin d'effectuer des requêtes SQL depuis un script shell pour récupérer ou modifier des données en base.
Voici donc coment intérroger facilement une base Oracle depuis un script shell grâce à l'outil SQL*Plus (sqlplus).
Le principe est simple on appelle sqlplus en lui donnant dans le flux d'entrée standard la requête SQL à exécuter.
On peut également rediriger le flux de sortie vers un fichier de log comme dans l'exemple.
Si on veut faire un SELECT et afficher les résultats alors on évitera de rediriger la sortie standard.
Voilà ce que ça donne:
Voici donc coment intérroger facilement une base Oracle depuis un script shell grâce à l'outil SQL*Plus (sqlplus).
Le principe est simple on appelle sqlplus en lui donnant dans le flux d'entrée standard la requête SQL à exécuter.
On peut également rediriger le flux de sortie vers un fichier de log comme dans l'exemple.
Si on veut faire un SELECT et afficher les résultats alors on évitera de rediriger la sortie standard.
Voilà ce que ça donne:
sqlplus -L <username>/<password>@<database> > oracle.log << EOF
insert into MOTS_CLES (
SITE,
MOTCLE
)
values(
'patatos.over-blog.com',
'sqlplus'
);
commit;
exit;
EOF