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 :

Passer une liste dans une procédure stockée


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut Passer une liste dans une procédure stockée
    Bonjour,

    Je développe une application où j'ai une table Ville est une table Habitant (id, nom, prénom, idVille)
    Je souhaite créer une procédure stockée qui me permet d'ajouter une ville et une liste d'habitant pour cette ville.
    Voici la signature de ma procédure:
    P_HABITANT(ville VARCHAR2(30), listeHabitant VARCHAR(30)) ;
    Je sépare les habitants par un ;
    Les habitants sont donc passés sous forme de liste.
    Je voudrais savoir comment extraire le nom et le prénom des habitants entre les points virgule et les insérer dans ma table Habitant.

    Merci de votre aide

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Par défaut
    Bonjour totot,

    L'analyse de chaîne de caractère en plsql est assez fastidieuse. Personnellement je ne connais que instr et substr.
    Si vous vous lancez dans un découpage de ce genre avec des boucles pour parcourir la chaîne vous avez intérêt à borner le nombre de tour maxi de boucle...

    Une autre solution plus musclée mais plus élégante est d'utiliser des types objets.
    Vous déclarez un type en tant que liste de chaînes de caractère et vous pouvez passer ce type en paramètre et le manipuler comme une liste dans votre procédure.

    Pozzo

  3. #3
    Membre extrêmement actif
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Billets dans le blog
    6
    Par défaut
    totot, si tu illustres ton cas ça sera mieux.
    Pour traitement de chaine caractère tu peux utiliser les expressions régulières.(REGEXP_....)

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    P_HABITANT('Nice', 'Durand Pierre ; Durand Fabien ;')

    Par exemple

  5. #5
    Membre extrêmement actif
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Billets dans le blog
    6
    Par défaut
    Je ne comprend pas d'où vient cette donnée,d'un fichier plat ou autre?

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2013
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 225
    Par défaut
    De nul part,

    C'est moi qui passe les paramètres à la mains, je n'est pas d'interface graphique, j'ai juste une bd

  7. #7
    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
    Citation Envoyé par totot Voir le message
    ...
    Les habitants sont donc passés sous forme de liste.
    ...
    Utilisez un type collection dans ce cas.

Discussions similaires

  1. [Débutant] passer d'un tableau à une liste dans une expression lambda
    Par Hepil dans le forum Linq
    Réponses: 8
    Dernier message: 25/06/2013, 17h23
  2. quand je selectionne une valeur dans une liste, retourne une autre valeur
    Par nsqualli dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 29/12/2008, 14h23
  3. [débutant] Comment gérer une liste dans une liste
    Par Lenoiche dans le forum iReport
    Réponses: 0
    Dernier message: 16/07/2008, 10h41
  4. champ d'une liste lié à une liste dans un autre site
    Par guintolli dans le forum SharePoint
    Réponses: 8
    Dernier message: 08/07/2008, 14h51
  5. Appel d'une liste dans une liste (JSTL)
    Par abalgue dans le forum Hibernate
    Réponses: 4
    Dernier message: 15/06/2007, 10h56

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