Lancer un script shell (ksh) si une requete retourne une valeur

Lancer un script shell (ksh) si une requete retourne une valeur - Shell/Batch - Programmation

Marsh Posté le 03-03-2010 à 16:27:26    

Bonjour,
 
je voudrais connaitre le moyen pour lancer un script si une valeur est retourne apres une requete.
 
Je fais plusieurs script, ou tout dans un meme script. ..
 
dsl , je suis debutant...  
Merciii de tout aide de votre part !
je suis sous ksh


---------------
MERCI, Merciiiii
Reply

Marsh Posté le 03-03-2010 à 16:27:26   

Reply

Marsh Posté le 03-03-2010 à 17:05:46    

Les deux solutions sont possibles.
 
Dans le cas d'un seul script, il sera surement appelé avec des variables.
Dans le script, chaque variable est $1, $2, $3, etc.

Reply

Marsh Posté le 03-03-2010 à 17:11:24    

si ma requete est un simple select de qq lignes, je l'incorpore a mon script. ok . ..  
Par contre  a la suite de mon script je fais comment pour tester si le resultat est null ou existe. ..
je dois faire un $REQUETE=select.... .. . .. ;
 et ensuite if [$REQUETE different 0] then. . .  
 
c ca ?
 
MErci bcp ... je commence un boulot ou je dois me mettre o niveau alors c vraiment pas facile, merciii bcp pour l'aide .. .

Reply

Marsh Posté le 03-03-2010 à 18:06:49    

Apparement, il est preferable de passer la requete par un .sql et comme j'y connais rien, je demande ASSISTANCE. . . F1. .. F1.... lol
 
mon sql serait du style  
spool init.lst
SELECT patati et patata  
           FROM  . . ..
           WHERE   .. .. . ;
spool off;
@init.lst
 
CECI me ressort le resultat ? 'jen sais rien, je me suis inspire des scripts voisins...lol
 
Est ce que ceci me donnera la reponse de ma requete ?
Merci de toute aide . . ..
2- Dans mon script je dois mettre quoi apres le if pour savoir si la valeur retourné par le sql est differente de 0.
 
MERCIIIIIIi

Reply

Marsh Posté le 03-03-2010 à 21:39:56    

Ce que l'on fait souvent, ce n'est pas d'utiliser le spool qui donne un fichier temporaire qu'il faut effacer, c'est de renvoyer le résultat dans une variable, par exemple, pour Oracle (est-ce de l'Oracle aussi pour vous ?) :

X=`sqlplus -s ${userid} <<EOF
set echo off
set heading off
set feedback off
set newpage  0
set pagesize 0
set linesize 1204
set verify off
Select colonne_toto||';'||colonne_titi from table_tutu
 Where colonne_tata = '${un_parametre}';
EOF`
if [ -z ${X} ]; then
   echo "Error: not found." >>${log_file}
   exit 1
fi
toto=`echo $X |cut -d";" -f1`
titi=`echo $X |cut -d";" -f2`


Reply

Marsh Posté le 05-03-2010 à 16:01:44    

OK . . Merci .
 
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed