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 :

[Oracle 9.1] Types de retour d'une fonction PL/SQL


Sujet :

PL/SQL Oracle

  1. #1
    Membre régulier
    Inscrit en
    Juin 2003
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 156
    Points : 85
    Points
    85
    Par défaut [Oracle 9.1] Types de retour d'une fonction PL/SQL
    Bonjour,

    Tout ou presque est dans la question . Une fonction PL/SQL peut-elle retourner un type non élémentaire comme un tableau d'entiers par exemple ?

    Mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    create function getTabCMR return table of integer
    Semble poser problème mais possible qu'il y ait une précaution à prendre que je n'ai pas prise...

    Merci, Fred

  2. #2
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    peut-être dans un package avec le type déclaré dans l'entête mais sinon ça m'étonnerait

  3. #3
    Membre régulier
    Inscrit en
    Juin 2003
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 156
    Points : 85
    Points
    85
    Par défaut
    Alors comment je peux faire pour ne pas répéter ce code entre différents scripts ?

    Et en procédure en mettant le tableau d'entier en IN OUT, ça ne semble pas fonctionner non plus

    Fred

  4. #4
    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
    Points : 3 609
    Points
    3 609
    Par défaut
    Tu peux passer par un type basé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SQL> create type test_dvp2 is table of integer;
      2  /
    Type created.
    Un problème sans solution est un problème mal posé

    Merci de poser vos questions sur le forum, je ne réponds pas aux questions posées par MP.

  5. #5
    Membre régulier
    Inscrit en
    Juin 2003
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 156
    Points : 85
    Points
    85
    Par défaut
    Bien vu ! Il ne bronche plus... Merci

    En testant par contre, j'obtiens le message

    Référence à un ensemble non initialisé
    Lorsque j'affecte

    Ca veut dire quoi ce charabiat ?

  6. #6
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Une collection de type NESTED table doit être initialisée.

    http://sheikyerbouti.developpez.com/pl_sql/?page=Chap5
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  7. #7
    Membre régulier
    Inscrit en
    Juin 2003
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 156
    Points : 85
    Points
    85
    Par défaut
    Et qu'en est-il pour une collection indexée ? Visiblement je n'arrive pas à créer un type avec une ligne comme la suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE TYPE TYP_IND_TAB is table of number index by binary_integer;
    Parait qu'il y aurait des erreurs de compilation

    Fred

  8. #8
    Expert éminent sénior
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Points : 11 862
    Points
    11 862
    Par défaut
    Citation Envoyé par ftrifiro
    Et qu'en est-il pour une collection indexée ? Visiblement je n'arrive pas à créer un type avec une ligne comme la suivante

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    CREATE TYPE TYP_IND_TAB is table of number index by binary_integer;
    Parait qu'il y aurait des erreurs de compilation

    Fred
    Vous ne pouvez pas créer de table de type INDEX BY directement en base (il s'agit d'un type purement PL/SQL)

    "parait qu'il y aurait des erreurs de compilation..."
    plutôt léger pour un dévelopeur, non ?

    SHOW ERRORS vous dira mieux que ce qu'il parait...
    Rédacteur Oracle (Oracle ACE)
    Guide Oracle ,Guide PL/SQL, Guide Forms 9i/10g, Index de recherche
    Je ne réponds pas aux questions techniques par MP
    Blogs: Forms-PL/SQL-J2EE - Forms Java Beans

  9. #9
    Membre régulier
    Inscrit en
    Juin 2003
    Messages
    156
    Détails du profil
    Informations forums :
    Inscription : Juin 2003
    Messages : 156
    Points : 85
    Points
    85
    Par défaut
    Ok...

    Pas spécialement "léger" mais je ne connaissais pas la commande pour faire afficher les erreurs. J'étais coutumier d'environnements différents sur les missions précédentes et science non infuse !

    Merci pour la réponse..

Discussions similaires

  1. Type de retour d'une fonction PL/PGSQL
    Par the java lover dans le forum PostgreSQL
    Réponses: 3
    Dernier message: 21/01/2009, 11h13
  2. Réponses: 5
    Dernier message: 14/06/2008, 13h30
  3. [PL/SQL] type de retour d'une fonction
    Par foffffa dans le forum SQL
    Réponses: 4
    Dernier message: 27/03/2008, 15h06
  4. Réponses: 5
    Dernier message: 29/09/2006, 17h17
  5. [type de retour dans une proc]
    Par viny dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 19/03/2005, 14h35

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