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 :

problème d'ecriture de procedure


Sujet :

SQL Oracle

  1. #1
    Futur Membre du Club
    Inscrit en
    Février 2003
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 7
    Points : 8
    Points
    8
    Par défaut problème d'ecriture de procedure
    Bonjour,

    J'ai un problème pour ecrire une procedure.
    Idealement, je voudrais ecrire la procedure suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    PROCEDURE maProc ( var1 IN VARCHAR2, cs OUT SYS_REFCOURSOR )
    IS
    BEGIN
        open CS for select * from maTable where monChamps in ( var1 );
    END;
    sachant que var1 peux contenir plusieurs valeurs :
    exemple 'bleu','blanc','rouge'
    Mais cette procedure ne fonctionne pas !!!
    Elle compile, mais ne renvois pas de resultat correct

    J'ai alors essayé de proceder de la facon suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    PROCEDURE maProc ( var1 IN VARCHAR2, var2 IN VARCHAR2 DEFAULT null, var3 VARCHAR2 DEFAULT null, cs OUT SYS_REFCOURSOR )
    IS
        CURSOR C1 IS select * from maTable where champs in (var1, var2, var3 );
    BEGIN
        open C1; 
        cs := C1;
    END;
    Mais ici, l'affectation cs := C1 ne compile pas !!!!

    Une solution serait de construire la requete comme suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    PROCEDURE maProc ( var1 IN VARCHAR2,  cs OUT SYS_REFCOURSOR )
    IS
       myQuery varchar2;
    BEGIN
      myquery := 'select ....... champs1 in ( ' || var1 || ' ) ....';
       open cs for myQuery;
    END;
    mais je ne veux pas utilise cette methode car ma requete peu faire une centaine de ligne et que j'ai plusieur parametres de ce type


    Quelqu'un aurait il une idée pour resoudre mon problème.

    Merci

  2. #2
    McM
    McM est déconnecté
    Expert éminent

    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
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

  3. #3
    Futur Membre du Club
    Inscrit en
    Février 2003
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 7
    Points : 8
    Points
    8
    Par défaut
    Citation Envoyé par McM Voir le message
    désolé, j'ai pas l'habitude...

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

    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
    Points : 7 740
    Points
    7 740
    Billets dans le blog
    4
    Par défaut
    1/ SYS_REFCURSOR

    2/ Tester un IN (paramètre) cherchera la valeur du paramètre. Donc s'il comprend '1,2,3,' c'est comme un = '1,2,3,'

    Voici comment faire :
    http://www.developpez.net/forums/sho...ighlight=liste

    PS : Réédite ton premier message pour mettre les balises code
    More Code : More Bugs. Less Code : Less Bugs
    Mon Blog PL/Sql : Fichier Zip / Image BMP / Lire sqliteDB / QRCode et Images PNG ou BMP

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

Discussions similaires

  1. Problème d'ecriture arabe dans un fichier texte
    Par gateserv dans le forum Entrée/Sortie
    Réponses: 5
    Dernier message: 30/08/2008, 11h44
  2. Réponses: 4
    Dernier message: 07/02/2008, 11h56
  3. Réponses: 6
    Dernier message: 30/07/2007, 10h32
  4. Probléme d'ecriture dans un fichier texte en java
    Par oldscrout dans le forum Entrée/Sortie
    Réponses: 6
    Dernier message: 19/01/2007, 19h10
  5. [sql 200] Problème avec une stored procedure
    Par marc_dd dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 01/12/2006, 15h11

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