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

PL/SQL Oracle Discussion :

Script PL/SQL : Evaluation d'une variable


Sujet :

PL/SQL Oracle

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2006
    Messages : 39
    Par défaut Script PL/SQL : Evaluation d'une variable
    Bonjour,

    Comment je peux évaluer la valeur d'une variable dans un script PL/SQL ??

    par exemple :

    DECLARE
    LC$Vers VARCHAR2(20) := '''21'',''22''';
    BEGIN

    -- LC$Vers ==> '21','22'

    select * from table
    where var IN (LC$Vers);

    END;


    Merci

  2. #2
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    En utilisant du sql dynamique (cf execute immediate ou les ref cursor)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2006
    Messages : 39
    Par défaut
    Citation Envoyé par plaineR Voir le message
    En utilisant du sql dynamique (cf execute immediate ou les ref cursor)
    en fait je dois utiliser ma requete select via un curseur et donc je ne peux pas utiliser la commande "execute immediate" :

    DECLARE
    LC$Vers VARCHAR2(20) := '''21'',''22''';

    CURSOR C1 IS
    select * from table
    where var IN (LC$Vers);

    BEGIN

    -- LC$Vers ==> '21','22'
    ....
    END;

    merci

  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
    Avec instr c'est plus facile.

    Une recherche sur le forum devrait donner le code.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2006
    Messages : 39
    Par défaut
    Citation Envoyé par McM Voir le message
    Avec instr c'est plus facile.
    dans quel sens ?? j'ai pas compri

    dsl je suis debutant en Pl/SQL



    merci

  6. #6
    Membre Expert

    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Janvier 2004
    Messages
    2 862
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2004
    Messages : 2 862
    Par défaut
    Avec instr :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select * from table
    where instr(LC$Vers, var) != 0;

  7. #7
    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
    bien penser à entourer les variables et colonnes par des séparateurs
    (afin que 1 ne soit pas pris dans 11,12) => INSTR(',11,12,', ',1,') > 0

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Juin 2006
    Messages : 39
    Par défaut
    merci à vous,, ça marche très bien avec instr();

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

Discussions similaires

  1. [Access] Expression avec une clause SQL faisant appel à une variable
    Par elgringo2007 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 27/06/2006, 13h02
  2. [sql] comment utiliser une variable global
    Par imedg dans le forum Oracle
    Réponses: 21
    Dernier message: 02/05/2006, 15h21
  3. Evaluation d'une variable string ou char* en C++
    Par Coelacanthe dans le forum SL & STL
    Réponses: 2
    Dernier message: 08/11/2005, 09h27
  4. Réponses: 3
    Dernier message: 01/12/2004, 09h43
  5. Pl/SQL utilisation d'une variable dans un select
    Par larg dans le forum PL/SQL
    Réponses: 17
    Dernier message: 30/11/2004, 17h08

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