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 :

Tester une procédure stockée renvoyant un curseur


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Par défaut Tester une procédure stockée renvoyant un curseur
    Bonjour,

    Je cherche à tester une procédure stockée via un client SQL TOAD en l'occurrence.

    Le problème c'est que ce code ne me renvoie rien du tout :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    DECLARE ps_cur sys_refcursor;
     
    auth SCHEMA.AUTHENTIFICATION%ROWTYPE;
    BEGIN
     
    ps_select_test(ps_cur);
     
    LOOP
    	FETCH ps_cur INTO auth;
    	EXIT WHEN ps_cur%NOTFOUND;
    	dbms_output.put_line(auth.COMMENTAIRE);
    END LOOP;
     
    CLOSE ps_cur;
    END;
    Dans la procédure stockée je fais un SELECT * FROM AUTHENTIFICATION.

    En résultat, je ne souhaite qu'afficher que la colonne COMMENTAIRE de ma table AUTHENTIFICATION. Par contre, en exécutant cette procédure via mon client TOAD, je n'obtiens rien en retour.

    Comment cela se fait-il ?

    Merci pour toute info complémentaire.

  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
    As-tu activé dbms output ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Par défaut
    Merci pour ta réponse.

    Non, comment je fais pour l'activer ?

  4. #4
    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
    dans sql*plus

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2002
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2002
    Messages : 560
    Par défaut
    Par rapport au code ci-dessus, où je dois placer cette instruction ?

    J'obtiens l'erreur "ORA-00922 missing or invalide operation" lorsque je place cela à ce niveau :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
     
    SET dbms_output ON;
    DECLARE ps_cur sys_refcursor;
     
    auth SCHEMA.AUTHENTIFICATION%ROWTYPE;
    BEGIN
     
    ps_select_test(ps_cur);
     
    LOOP
    	FETCH ps_cur INTO auth;
    	EXIT WHEN ps_cur%NOTFOUND;
    	dbms_output.put_line(auth.COMMENTAIRE);
    END LOOP;
     
    CLOSE ps_cur;
    END;
    Faut-il déclarer la variable "dbms_output" quelque part ?
    Merci d'avance.

  6. #6
    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
    remplace :
    par :

    par ailleurs, pour déclarer un curseur il faut y mettre une requête et si tu as un paramètre il faut aussi le déclarer dans le curseur... revois le tutoriel PL/SQL avant de continuer

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 03/03/2015, 15h21
  2. Réponses: 6
    Dernier message: 05/04/2007, 13h35
  3. Appel d'une procédure stockée avec un curseur
    Par lapanne dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 26/12/2006, 16h24
  4. Réponses: 3
    Dernier message: 14/09/2006, 08h44
  5. Réponses: 6
    Dernier message: 18/05/2005, 14h04

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