IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

Déclaration au sein d'une requête


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de casavba
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 464
    Par défaut Déclaration au sein d'une requête
    Bonjour à tous,

    Est-il possible de déclarer des variables au sein d'une requête.


    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Declare
    a Number :=10000
     
    BEGIN
    select * from M_Table where Mon_CA > a
    END

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    oui.

    Note : ta syntaxe est incorrect, il faut des ; et un into

  3. #3
    Membre éclairé Avatar de casavba
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 464
    Par défaut
    Pourrais -tu être plus explicite .

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Declare
    a Number :=10000;
     
    BEGIN
    SELECT * FROM M_Table WHERE Mon_CA > a
    END;
    si je fais comme ça ne marche pas ???

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par casavba Voir le message
    Pourrais -tu être plus explicite .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Declare
    a Number :=10000;
     
    BEGIN
    SELECT * FROM M_Table WHERE Mon_CA > a ;
    END;
    si je fais comme ça ne marche pas ???
    Ben essaie !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ORA-06550: line 2, column 1:
    PLS-00428: an INTO clause is expected in this SELECT statement
    Puis va voir : http://sheikyerbouti.developpez.com/...=Chap1#L1.2.20

    Il y a un cours sur le pl/sql icitte : http://sheikyerbouti.developpez.com/pl_sql/

  5. #5
    Expert éminent
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 48
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    Sous SQL*Plus tu peut utiliser le & pour désigner une variable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT * FROM M_Table WHERE Mon_CA > &a
    ou alors déclarer une variable (toujours sous SQL*Plus) et la préfixer de : pour l'utiliser :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  6. #6
    Membre éclairé Avatar de casavba
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 464
    Par défaut
    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:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    ce que je voudrais faire c celà

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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;
    J'ai beau essayé mais ça ne marche pas

    Peut être que ma démarche est fausse

    Help me

    Je suis coincé

Discussions similaires

  1. MAX(x + y) au sein d'une requête
    Par ciols dans le forum Langage SQL
    Réponses: 7
    Dernier message: 19/02/2014, 13h24
  2. Réponses: 1
    Dernier message: 23/09/2011, 15h30
  3. Colonne compteur dynamique au sein d'une requête
    Par lacombefr dans le forum Développement
    Réponses: 6
    Dernier message: 16/04/2008, 13h41
  4. Réponses: 3
    Dernier message: 05/09/2006, 15h59
  5. Réponses: 6
    Dernier message: 20/06/2006, 14h49

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo