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 :

Requête avec paramètres [10gR2]


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Par défaut Requête avec paramètres
    Bonjour,

    Je cherche à passer des paramètres dans ma requête.
    Dans l'exemple ci-dessous, comment mettre en place les paramètres.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SELECT t.matricule, t.date, t.motif 
    From t 
    WHERE t.motif in (?) ANd t.date = ?
    Je voudrais pourvoir dire si le paramètre du motif est égal à 1 alors les motif sont ("pomme", "carotte")
    Si le paramètre du motif est égal à 2 alors les motif sont ("orange", "banane")
    Et enfin si le paramètre de la date est égale à 1 alors la date = 31/12/2018
    si le paramètre de la date est égale à 2 alors la date = 01/01/2018

    Merci pour votre aide

  2. #2
    Membre Expert
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Février 2012
    Messages
    652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Distribution

    Informations forums :
    Inscription : Février 2012
    Messages : 652
    Par défaut
    En SQL "pur" tu peux utiliser les variable &1, &2, &3, etc... pour récupérer des valeurs transmises lors de l'exécution de ton script SQL

    Par exemple ton script "test.sql":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    DEFINE Param1=&1
     
    SELECT '&Param1.' AS Prm1
    FROM dual;
    Exécution du script :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sqlplus @c:\test.sql COIN
    Résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SQL> select '&Param1.' AS Prm1
      2  from dual;
    ancien   1 : select '&Param1.' AS Prm1
    nouveau   1 : select 'COIN' AS Prm1
     
    PRM1
    ----
    COIN
    Ensuite tu peux utiliser l'instruction CASE pour modifier tes clauses selon la valeur de &1

  3. #3
    Membre très actif
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Par défaut
    Merci pour votre réponse.
    Mais je suis pas sur de savoir comment faire avec ma requête.

  4. #4
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Utilise les instructions OR et AND


    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    WHERE (
    (:paramM = 1 AND motif in ('orange', 'banane'))
    OR (:paramM = 2 AND ....)
    )
    AND (
    (:paramD = 1 AND dte = ...)
    OR (:paramD = 2 AND dte = ...)
    )

  5. #5
    Membre très actif
    Inscrit en
    Avril 2005
    Messages
    238
    Détails du profil
    Informations forums :
    Inscription : Avril 2005
    Messages : 238
    Par défaut
    Merci pour votre réponse, c'est parfait.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Requête avec paramètres variables
    Par dahu17 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 30/05/2007, 10h38
  2. [Requête][03]Problème d'export d'une requête avec paramètre
    Par SLE dans le forum Requêtes et SQL.
    Réponses: 7
    Dernier message: 02/04/2007, 11h29
  3. Réponses: 5
    Dernier message: 06/01/2007, 04h48
  4. [Oracle] - Requête avec paramètres
    Par b00tny dans le forum Langage SQL
    Réponses: 4
    Dernier message: 24/04/2006, 16h09
  5. test d'une requête avec paramètre
    Par hervé14670 dans le forum Access
    Réponses: 1
    Dernier message: 12/01/2006, 22h45

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