parametre en entrée et boucle sur les requêtes [SQL] - SQL/NoSQL - Programmation
Marsh Posté le 03-10-2007 à 15:50:04
en "pur sql" c'est faisable avec une procédure stockée. Pour la mettre en place cela va dépendre de ton sgbd.
Si tu as une partie "programmation", tu peux également faire ça avec la plupart des langages via un bind param sur une requête préparée.
Marsh Posté le 03-10-2007 à 16:14:26
Bon alors en fait je suis tombé dans du sql comme ça pour les tests au boulot alors que je connais rien, je sais juste que je suis sous Oracle, je vais en tout cas chercher du coté des procédures stockées, merci encore anapajari!
Marsh Posté le 04-10-2007 à 09:43:27
Avec SQL+ (mais aussi TOAD) tu peux simplement faire :
select champs1
from table1
where champs2 = :xxx;
=> Sous TOAD il va ouvrir une boîte de dialogue te demandant la valeur de xxx ainsi que son type.
=> Sous SQL+ il va te dire que tu n'as pas déclaré la variable. Je sais plus comment on fait, mais tu peux le faire sous forme d'une question prompt.
Marsh Posté le 04-10-2007 à 09:45:37
Correction, sous SQL+, c'est pas :xxx mais &xxx
|
http://www.gove.net/courses/databa [...] s_cmd.html
Marsh Posté le 04-10-2007 à 09:53:27
D'ailleurs, t'aurais pu chercher un peu par toi-même :
"Oracle prompt variable" dans google...
http://www.google.fr/search?hl=fr& [...] ble+&meta=
Second lien (car le premier marche pas )
Et t'as un exemple basique :
|
Marsh Posté le 03-10-2007 à 15:15:45
Bonjour, j'aurai voulu savoir si c'était possible en SQL de faire entrer un parametre saisie à la main, je m'explique imaginons la requête suivante :
select champs1
from table1
where champs2='XXX'
Je voudrais avoir en fait un texte avant qui dit "Quelle est la valeur de champs2?", on saisie une valeur qui est pris en paramettre dans XXX, comme ça la requête teste sur XXX.
Puis est il possible de faire une boucle, genre à la fin de la requête ça dit "Voulez vous resaisire une autre valeur?", et si on dit oui, ça redemande la valeur du champs2.
J'ai pas trouvé de truc sur le net, et je me dis que si ça se trouve, je cherche quelque chose qui n'est pas possible lol.
Merci de vos réponses.