Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1617 connectés 

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [RESOLU] Requete SQL avec variable dynamique sous MS-DOS

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU] Requete SQL avec variable dynamique sous MS-DOS

n°1981868
tilolebo
point trop n'en faut
Posté le 08-04-2010 à 10:52:28  profilanswer
 

Bonjour,
 
Je dois améliorer un .bat. Voici le fichier d'origine:
 
file.bat:

Code :
  1. sqlplus scott/tiger@bdd @file.sql


 
file.sql:

Code :
  1. SELECT name, department
  2. FROM emp
  3. WHERE name=&name
  4. ORDER BY department;


 
L'utilisateur veut pouvoir effectuer plusieurs requêtes à la suite, sans avoir à relancer le script à chaque fois.
 
J'ai donc modifié le .bat comme suit:
 
new_file.bat:

Code :
  1. @Echo off
  2. :start
  3. sqlplus scott/tiger@bdd @file.sql
  4. goto ask
  5. :ask
  6. echo Do you want to perform a new search ?
  7. choice /c:yn
  8. if errorlevel 2 goto end
  9. if errorlevel 1 goto start
  10. :end


 
Le choice /c:yn fonctionne bien (testé en remplaçant la commande sqlplus par un "echo" de test), mais le problème est qu'à la fin de la requête SQL le script reste bloqué sur le prompt SQL*Plus.
 
Si je rajoute un quit ou exit dans le fichier sql, le .bat se termine après la 1ère requête, et si je tente un "sqlplus -S" (en silent mode donc) le prompt SQL> ne s'affiche pas, mais je suis toujours bloqué dans SQL*Plus.
 
Quelle commande puis-je utiliser pour repasser la main à mon .bat ?
 
Une autre solution serait d'inclure la requête SQL directement dans le script, mais je ne connais pas bien le scripting MS-DOS et je ne sais pas comment remplacer la variable sql dynamique "&name" par une variable MS-DOS dynamique...


Message édité par tilolebo le 08-04-2010 à 14:15:48

---------------
Ravèt pa janmen ni rézon douvan poul
mood
Publicité
Posté le 08-04-2010 à 10:52:28  profilanswer
 

n°1981990
tilolebo
point trop n'en faut
Posté le 08-04-2010 à 14:15:03  profilanswer
 

Résolu:
 

Code :
  1. @Echo off
  2. :start
  3. SET name=
  4. SET /P name=Enter a name and press Enter
  5. echo SELECT name, department from emp WHERE name=%name% ORDER BY department; | sqlplus -S scott/tiger@bdd
  6. goto ask
  7. :ask
  8. SET choice=
  9. SET /P choice=Do you want to perform a new search ? (y/n and Enter)
  10. if %choice% == n goto end
  11. if %choice% == y goto start
  12. :end


---------------
Ravèt pa janmen ni rézon douvan poul

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [RESOLU] Requete SQL avec variable dynamique sous MS-DOS

 

Sujets relatifs
[Resolu] Détail d'un fichier sous DOSMacro pour formater un fichier texte ou excel [Résolu]
erreur de syntaxe (vb.net, SQL server)[Résolu] Strings remplacées par "p"
[resolu]Requête sortant les produits du même prix à +/- 10%[RESOLU][SQL/ACCESS] Problème jointure
liste incremental string [RESOLU] 
Plus de sujets relatifs à : [RESOLU] Requete SQL avec variable dynamique sous MS-DOS


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR