lundi 21 mai 2007

Recupérer le résultat d'une requête SQL dans un script Shell

Salut,

aujourd'hui c'est plutôt une astuce.

Ce script est simple, et ça peut être très utile.

Donc, il suffit de copier ce texte dans un fichier .sh et de modifier le login/pass, ainsi que la requête (le select ou autre :-) ) , et enfin le echo final à modifier à votre convenance.


#! bash

# ----------------------------------------
# fonction appelle contenant la requete
# prend en param la requete et login/pass
# ----------------------------------------
read_sql_stmt() {
typeset stmt=$1
typeset login=$2

echo "
set feedback off verify off heading off pagesize 0
$stmt;
exit
" | sqlplus -s $login
}

# -----------------------------------------------
# Appel de la fonction (pour executer la requete
# et traitement du resultat, affichage
# -----------------------------------------------
read_sql_stmt "select username, user_id from dba_users" "system/password" | while read u i
do
echo "user $u has userid $i"
done