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

Oracle Discussion :

[9i]recupération de tableau dans la base


Sujet :

Oracle

Vue hybride

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

    Informations forums :
    Inscription : Novembre 2004
    Messages : 220
    Par défaut [9i]recupération de tableau dans la base
    Bonjour,

    Voila je voudrais pouvoir recupéré dans la base un ensenble de valeurs

    type 1 theme 1
    type 1 theme 2
    type 2 theme 1
    type 2 theme 2
    type 2 theme 3
    type 3 theme 1
    type 3 theme 2
    ...

    en fonction d'une valeur en parametre, mais je ne sais pas quoi choisir entre fonction et procédure? comment retourné un tableau si c'est une procédure?quelle type la fonction doit retourné si c'est une fonction? je suis un peut perdu car j'en fait depuis peut, et j'ai toujours reussi a retourné des type simple(souvent car le nombre de retour est minime mais la j'ai beaucoup a retourné)

    quelqu'un pourrait m'aider ?

    merci

    hOAx punK

  2. #2
    Membre Expert

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Par défaut
    De ma (maigre) expérience et pour avoir résolu ce genre de question récemment, tu peux créer n'importe quel type de collection (associative array, Varray, nested tables, etc.) et les passer directement en paramètre de ta procédure.

    Cf cet article : http://sheikyerbouti.developpez.com/...?page=Chap5#L5

    Le seul prérequis est que le type de la déclaration soit visible au niveau de la procédure.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 220
    Par défaut
    En fait je recupére un booleen et les resultat a renvoyé son en fonction de ce booleen, mais si je créer une fonction il faut que je declare le type retourné avant la creation de la fonction. Si je veut créer une procédure, je doit metre des parametre OUT, mais je ne vois pas comment faire dans ce cas la.

  4. #4
    Membre Expert

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Par défaut
    La seule solution que j'ai trouvée jusqu'à maintenant pour qu'une déclaration de type soit visible dans 2 procédures distinctes est d'inclure l'une dans l'autre.
    Ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    DECLARE
      TYPE LTY_lst 		IS TABLE OF VARCHAR2(10) INDEX BY BINARY_INTEGER;
      Llst_to_delete	LTY_lst;
    ...	
    	FUNCTION DELETE_PARAM_ANALYTIQ(PC_an_code  	VARCHAR2(10),
    				 Plst_supprime IN OUT LTY_lst) RETURN NUMBER IS
    		LTyC_param_calcules LTY_lst;
    	BEGIN
    ...
    	END;
     
    BEGIN
    ...
    END;
    Ici en l'occurence il s'agit d'un bloc anonyme et d'une fonction mais le principe est le même.

    ça répond à ta question ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 220
    Par défaut
    je comprend rien au morceau de code que tu a présenté :s je suis desolé je suis un peu debutant...mais je croi comprendre ce que tu veut me faire comprendre, mais je ne pence pas que sa fonctionnera!

  6. #6
    Membre Expert

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Par défaut
    J'arrange mon code dis moi si c'est plus clair ?

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    220
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 220
    Par défaut
    merci, c'est deja plus claire lol

    bon et bien une simple question est ce que cette fonction retourne un type LTY_lst ?

    autre question : peut on metre return LTY_lst a la place de number ici ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    FUNCTION DELETE_PARAM_ANALYTIQ(PC_an_code     VARCHAR2(10), 
                 Plst_supprime IN OUT LTY_lst) RETURN NUMBER IS

  8. #8
    Membre Expert

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Par défaut
    quelle différence fais-tu (hormi l'appel) entre une procédure qui prend en paramètre d'entrée-sortie (dans mon exemple "IN OUT") un tableau et une fonction qui retourne un tableau ?

    Moi aucune mais peut être que je me trompe ?

    Pour ce qui est de savoir si tu peux remplacer la valeur de retour d'un type natif par un type tableau alors le plus simple est de tester ou de regarder dans la doc.
    Dans la doc je n'ai pas vu de contre-indication, ni d'argument attestant que c'est faisable non plus.

Discussions similaires

  1. Sauvegarde de tableau dans une base de données
    Par lilp1 dans le forum MySQL
    Réponses: 3
    Dernier message: 30/11/2010, 10h18
  2. Réponses: 0
    Dernier message: 23/07/2009, 09h37
  3. Affichage un tableau dans ma base de données
    Par drake56 dans le forum Langage
    Réponses: 11
    Dernier message: 04/05/2009, 11h59
  4. Stocker un tableau dans une base de données
    Par rambc dans le forum Général Python
    Réponses: 7
    Dernier message: 23/12/2008, 21h16
  5. [MCD]Tableau dans une base de données
    Par gollunk dans le forum Schéma
    Réponses: 9
    Dernier message: 29/10/2008, 10h20

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