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 :

pl/sql dual ORA-00902 [Fait]


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 189
    Par défaut pl/sql dual ORA-00902
    bonjour j'ai cree
    une fonction qui sera appellé plus tard dans crystal report

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    FUNCTION TEST_ADHESIONS return CURSEUR_TYPE IS MONCURSEUR CURSEUR_TYPE ;
     
    begin
     
    OPEN  MONCURSEUR FOR
     
    select * from adhesions a;
     
    RETURN  MONCURSEUR;
    end;

    quand je l'appelle sous sql via

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    select pkg_adhesion.TEST_ADHESIONS   from dual;
    j'ai une erreur ORA-00902 que faut t'il faire pour qu'il me renvoie tout?

    merci

    michel

  2. #2
    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
    MONCURSEUR n'est pas déclaré, il manque un INTO, etc... je te conseille de faire une recherche dans le forum et lire le tuto PL/SQL avant de continuer

    PS : merci de respecter les régles du forum

    Edit : pour info : http://sheikyerbouti.developpez.com/...record_set.htm

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 189
    Par défaut
    si il etait declare

    <code>
    TYPE CURSEUR_TYPE IS REF CURSOR;
    </code>


    je veux recuperer tous les champs de ma table

    et quand je l'appelle via sql erreur ORA-00902

    le dual a t'il des problemes?

    je veux recuperer mes donnees sous la forme SELECT pkg_adhesion.TEST_ADHESIONS FROM dual;

    et non passer par pl/sql

  4. #4
    Rédacteur

    Homme Profil pro
    Développeur et DBA Oracle
    Inscrit en
    Octobre 2006
    Messages
    878
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Développeur et DBA Oracle

    Informations forums :
    Inscription : Octobre 2006
    Messages : 878
    Par défaut
    Salut,

    Tu peux utiliser Oracle Pipelined Table Functions à partir de la version 9i

    http://www.akadia.com/services/ora_pipe_functions.html

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 189
    Par défaut
    malheuresement j'ai la 8

  6. #6
    Expert confirmé Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Par défaut
    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
    19
    20
    21
    22
    23
    24
    25
    26
     
    create or replace package pkg_adhesion Is
     
      TYPE CURSEUR_TYPE IS REF CURSOR;
     
      FUNCTION TEST_ADHESIONS RETURN CURSEUR_TYPE;
     
    end;
    /
     
    create or replace package body pkg_adhesion Is
      FUNCTION TEST_ADHESIONS RETURN CURSEUR_TYPE 
      IS 
     
      MONCURSEUR CURSEUR_TYPE; 
     
      begin
        OPEN MONCURSEUR FOR SELECT * FROM scott.emp;
     
        RETURN  MONCURSEUR;
     
      end;
    end;
    /
     
    SELECT pkg_adhesion.TEST_ADHESIONS   FROM dual;
    testé sur Oracle 10

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

Discussions similaires

  1. Réponses: 12
    Dernier message: 06/08/2009, 16h16
  2. [Sql*Net] ORA - 03113
    Par madina dans le forum Oracle
    Réponses: 7
    Dernier message: 28/07/2006, 10h41
  3. [java.sql.SQLException: ORA-01002: fetch out of sequence]
    Par chouchou93 dans le forum Oracle
    Réponses: 9
    Dernier message: 30/05/2006, 13h05
  4. Réponses: 4
    Dernier message: 25/01/2006, 18h25
  5. [PL/SQL + VB] ORA-01002 fetch out of sequence
    Par superfly dans le forum Oracle
    Réponses: 10
    Dernier message: 03/01/2005, 20h33

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