faire une requete vers une base oracle a partir d'un script shell

  • Auteur de la discussion mapha
  • Date de début

mapha

Nouveau membre
salut a tous,je suis nouveau sur ce blog et j’espère y trouver de l'aide qui me sera très précieuse.je suis entrain de développer un script shell qui se présentera sous forme de menu et je veux savoir comment faire correspondre des requêtes ,les simples possible a chacuns des choix du menu.par exemple la requete 'select * from v$tablespace' dans le choix 1.
ci-joint le code du programme.

#!/bin/bash
echo quelle est votre choix ??
echo 1- hello, 2- world, 3- Quitter
read choix
case $choix in
1) echo Hello;;
2) echo World;;
3) exit 0;;
else ) echo "Les choix sont 1, 2 ou 3";;
 

zeb

Modérateur
Salut,

M'enfin, ce n'est pas un blog, ici, c'est un forum !

1°)

Connais-tu la commande shell (ksh, csh, bash) select(1) ?
Je crois que tu seras intéressé ;)


2°)

Au lieu de faire un echo, mets toutes les commandes que tu veux.
Tu peux, faire directement la requête, mettre la requête dans une variable et l'exécuter plus tard, etc.

Attention, je vois un $ dans ta requête, n'oublie pas de dé-spécialiser ce caractère.

------------------

Moderatox dixit : ta question est très bien ici, puisqu'elle traite de programmation.
Pour info, les cadors d'UNIX et Linux sont aussi présents dans cette partie du forum :


 

zeb

Modérateur
exemple :

Bash:
select CHOIX in hello 'world !'
do 
    unset QUERY
    case $REPLY in
        1)  echo $CHOIX
            QUERY="SELECT * FROM V\$TABLESPACE"
            break
        ;;
        2)  echo $CHOIX
            QUERY="SELECT '$CHOIX' FROM DUAL"
            break
        ;;
        [Qq]) echo Sortie*
            break
        ;;
        *)  echo "la réponse \"$CHOIX\" n'est pas valide"
    esac
done

if [ ! -z "$QUERY" ]
then

    sqlplus /nolog <<-EOF
        connect scott/tiger
        WHENEVER OSERROR  EXIT FAILURE;
        WHENEVER SQLERROR EXIT FAILURE;
        $QUERY;
        EXIT;
    EOF
fi

Il n'y a pas de sortie par une entrée dans le menu.
Par défaut, et comme pour tous les autres programmes, c'est par un ^D que l'on quitte la saisie.
Mais rien n'empêche d'ajouter le Q, comme dans l'exemple/
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 131
Messages
6 717 984
Membres
1 586 385
Dernier membre
beep84
Partager cette page
Haut