Bonjour à tous,
Est-il possible de déclarer des variables au sein d'une requête.
Exemple:
Code:
1
2
3
4
5
6 Declare a Number :=10000 BEGIN select * from M_Table where Mon_CA > a END
Merci
Version imprimable
Bonjour à tous,
Est-il possible de déclarer des variables au sein d'une requête.
Exemple:
Code:
1
2
3
4
5
6 Declare a Number :=10000 BEGIN select * from M_Table where Mon_CA > a END
Merci
oui.
Note : ta syntaxe est incorrect, il faut des ; et un into
Pourrais -tu être plus explicite .
si je fais comme ça ne marche pas ???Code:
1
2
3
4
5
6 Declare a Number :=10000; BEGIN SELECT * FROM M_Table WHERE Mon_CA > a END;
Ben essaie !
Puis va voir : http://sheikyerbouti.developpez.com/...=Chap1#L1.2.20Code:
1
2 ORA-06550: line 2, column 1: PLS-00428: an INTO clause is expected in this SELECT statement
Il y a un cours sur le pl/sql icitte : http://sheikyerbouti.developpez.com/pl_sql/
Sous SQL*Plus tu peut utiliser le & pour désigner une variable :
ou alors déclarer une variable (toujours sous SQL*Plus) et la préfixer de : pour l'utiliser :Code:SELECT * FROM M_Table WHERE Mon_CA > &a
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 SQL> var a number; SQL> begin 2 :a := 1000; 3 end; 4 / PL/SQL procedure successfully completed. SQL> select :a from dual; :A ---------- 1000
Bonjour et merci pour vos réponses,
En fait, j'ai pas accès à sql plus,
en fait je fais mes requêtes à l'aide d'une interface qui ressemble à mS query,
en fait au niveau de ma requete je voudrais déclarer la variable au début de la requête et l'initialiser en lui attribuant une valeur, ---> comme ça je serais pas obligé de modifié autant de fois que la valeur existe dans ma requête.
ex:
ce que je voudrais faire c celàCode:
1
2
3
4
5 select Filiale from Table_1 where CA > 1000 union select Filiale from Table_3 where CA > 1000 union select Filiale from Table_4 where CA > 1000
J'ai beau essayé mais ça ne marche pasCode:
1
2
3
4
5
6
7
8
9 Declare a Number :=1000; Begin select Filiale from Table_1 where CA > a union select Filiale from Table_3 where CA > a union select Filiale from Table_4 where CA > a; End;
Peut être que ma démarche est fausse
Help me
Je suis coincé
En fait, l'erreur qui m'affiche est:
merci de ta compréhension Jérôme :?Citation:
Erreur dans la requête 'Select ..'
manque INTO :roll:
Ouais c'est vrai... Donc une solution : curseur
ou :A part ça quand je vois 3 tables avec les mêmes colonne et même condition WHERE je crains le pire :?Code:
1
2
3
4
5
6
7
8
9 SELECT Filiale INTO mavariable FROM ( SELECT Filiale FROM Table_1 WHERE CA > a union SELECT Filiale FROM Table_3 WHERE CA > a union SELECT Filiale FROM Table_4 WHERE CA > a);