[RESOLU] Requete SQL avec variable dynamique sous MS-DOS
Requete SQL avec variable dynamique sous MS-DOS [RESOLU] - SQL/NoSQL - Programmation
MarshPosté le 08-04-2010 à 10:52:28
Bonjour,
Je dois améliorer un .bat. Voici le fichier d'origine:
file.bat:
Code :
sqlplus scott/tiger@bdd @file.sql
file.sql:
Code :
SELECT name, department
FROM emp
WHERE name=&name
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 :
@Echo off
:start
sqlplus scott/tiger@bdd @file.sql
goto ask
:ask
echo Do you want to perform a new search ?
choice /c:yn
if errorlevel 2 goto end
if errorlevel 1 goto start
: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
Marsh Posté le 08-04-2010 à 10:52:28
Bonjour,
Je dois améliorer un .bat. Voici le fichier d'origine:
file.bat:
file.sql:
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:
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