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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [SQL] parametre en entrée et boucle sur les requêtes

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[SQL] parametre en entrée et boucle sur les requêtes

n°1618444
scoyd
Posté le 03-10-2007 à 15:15:45  profilanswer
 

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.

mood
Publicité
Posté le 03-10-2007 à 15:15:45  profilanswer
 

n°1618468
anapajari
s/travail/glanding on hfr/gs;
Posté le 03-10-2007 à 15:50:04  profilanswer
 

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.

n°1618506
scoyd
Posté le 03-10-2007 à 16:14:26  profilanswer
 

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!

n°1618697
MagicBuzz
Posté le 04-10-2007 à 09:43:27  profilanswer
 

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.

n°1618699
MagicBuzz
Posté le 04-10-2007 à 09:45:37  profilanswer
 

Correction, sous SQL+, c'est pas :xxx mais &xxx
 


PROMPT  
PURPOSE:  
 
To send the specified message or a blank line to the user's screen. Normally, you use this command in command files to give information to the user.  
 
SYNTAX:  
 
 
 PROMPT [text]
 
Where:  
 
 
text : is the text of the message you wish to display. If you omit text, PROMPT displays a blank line on the user's screen.  
Example:  
Here is PROMPT used with ACCEPT in command file ASKFORDEPT:  
 
 SQL> GET ASKFORDEPT
   1  PROMPT
   2  PROMPT Please enter a department
   3  PROMPT For example: 10, 20, 30, 40
   4  ACCEPT NEWDEPT NUMBER PROMPT 'DEPT:>'
   5* SELECT DNAME FROM DEPT WHERE DEPTNO = &NEWDEPT
 
If you run the file using @ASKFORDEPT, SQL*Plus displays:  
 Please enter a department
 For example: 10, 20, 30, 40
 DEPT:>
 
You can enter a department number at the DEPT:> prompt. By default, SQL*Plus lists the line containing &NEWDEPT before and after substitution, and then displays the department name matching the number entered at the DEPT:> prompt.  
See also: /, @, accept, get, input, pause, run, start, commands.  


http://www.gove.net/courses/databa [...] s_cmd.html

n°1618704
MagicBuzz
Posté le 04-10-2007 à 09:53:27  profilanswer
 

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 [:magicbuzz])
 
Et t'as un exemple basique :


A basic example:
 
 
SQL> select owner from dba_tables where table_name='&FRED'
SQL> /
Enter value for fred: DUAL
old   1: select owner from dba_tables where table_name='&FRED'
new   1: select owner from dba_tables where table_name='DUAL'
OWNER
------------------------------
SYS
1 row selected.


Message édité par MagicBuzz le 04-10-2007 à 09:53:39

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

  [SQL] parametre en entrée et boucle sur les requêtes

 

Sujets relatifs
[ résolu tout seul ] variables GET en un seul parametreProcédures Stockées et SQL Injection
Débutant Python => Passage de paramètre[Oracle] 2 requetes faisant la meme chose, deux résultats differents
[SQL] créatiçon d'une vue avec un minclé primaire en SQL
Incrémenter une base SQL avec un lien[SQL] Optimisation de requête "regroupement X-en-1" (tri ?)
Req SQL trop dure pour moiPL/SQL : Passage en paramère
Plus de sujets relatifs à : [SQL] parametre en entrée et boucle sur les requêtes


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