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

Bases de données Delphi Discussion :

Problème procédure stockée passage liste parametre pour clause IN


Sujet :

Bases de données Delphi

  1. #1
    NLC
    NLC est déconnecté
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Problème procédure stockée passage liste parametre pour clause IN
    Bonjour,

    J'utilise oracle 10g.

    Je passe en paramètre à ma procédure stockée une chaine de caractères comprenant une liste de valeurs séparées par des virgules.

    Execute MaProc('101,102,103');


    Dans ma procédure MaProc, j'exécute la requête suivante :

    Update MaTable set Champ1=1 where PkIdMaTable IN (MaChaine)

    Mon problème est le suivant : Oracle prend la chaine de caractère 'MaChaine' dans la clause IN pour une seule et même valeur.

    Comment faire pour que Oracle prenne en compte les valeurs de MaChaine séparément?

  2. #2
    Membre averti
    Profil pro
    xxxxxxxxxxx
    Inscrit en
    Juin 2004
    Messages
    308
    Détails du profil
    Informations personnelles :
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : xxxxxxxxxxx

    Informations forums :
    Inscription : Juin 2004
    Messages : 308
    Points : 407
    Points
    407
    Par défaut
    Salut

    J'aurais vu ce post davantage dans le forum Oracle...
    Mais pour te répondre, utilise dans ta proc le package dbms_sql pour constituer ta requête en texte et l'exécuter dynamiquement.
    Bon courage.

  3. #3
    NLC
    NLC est déconnecté
    Futur Membre du Club
    Inscrit en
    Mars 2006
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Merci pour ta réponse.

    Je viens de trouver la solution :

    Dans ma procStockée :

    execute immediate 'UPDATE MaTable SET ... WHERE PkIdMaTable IN (' || Liste || ')';

    Je crée ma requête au format texte dans laquelle je concatenne mon paramètre d'entrée 'Liste'. Il ne me reste plus qu'à appeler l'instruction 'execute immediate' pour exécuter ma requête au format texte.

    Cela doit correspondre à la réponse que tu m'a donné.

    Merci encore.
    @+

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

Discussions similaires

  1. Problème Procédure stockée et passage de paramètre
    Par Ambel1986 dans le forum Développement
    Réponses: 5
    Dernier message: 08/02/2011, 15h04
  2. Réponses: 1
    Dernier message: 06/04/2010, 12h47
  3. problème procédure stockée
    Par hamham dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 19/04/2006, 12h33
  4. Problème procédure stockée + trie
    Par an_merle dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 14/02/2006, 22h58
  5. Réponses: 2
    Dernier message: 15/09/2004, 18h17

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