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 :

[10] forall et les collection de record


Sujet :

Oracle

Vue hybride

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

    Informations forums :
    Inscription : Décembre 2004
    Messages : 163
    Par défaut [10] forall et les collection de record
    Bonjour tout le monde

    je cherche à faire un insert d'une liste d'enregistrement à l'aide d'un forall.
    la liste comprend 3 champs et est alimenté avec ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    select statut,count(*) total,agent bulk collect into resultat 
    from societes group by agent,statut;
    avec la liste 'resultat', je souhaite remplir une table statistiques avec ce code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    forall i in resultat.first..resultat.last
    insert into statistiques(statut_societe,total,agent) 
    values (resultat(i).statut,resultat(i).total,resultat(i).agent);
    et à la compile du package j'ai cette erreur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PLS-00436: restriction de mise en oeuvre : impossible de référencer des champs d'une table d'enregistrements BULK In-BIND
    J'ai testé en remplaçant ma liste de record par une liste d'entier et ça fonctionne.
    Connaissez vous un moyen de contourner cette restriction?

    merci

  2. #2
    Expert Oracle confirmé

    Homme Profil pro
    Consultant Big Data
    Inscrit en
    Mars 2003
    Messages
    448
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Consultant Big Data
    Secteur : Conseil

    Informations forums :
    Inscription : Mars 2003
    Messages : 448
    Par défaut
    Bonjour,

    Il y a longtemps que je n'ai pas fait de BULK COLLECT et de FORALL.

    Mais avant tout, pourquoi ne pas faire ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    insert into statistiques(statut_societe,total,agent)
    select statut,count(*),agent
    from societes group by agent,statut ;

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 163
    Par défaut
    parce que je ne savais pas qu'on pouvait faire ainsi.
    C'est cool rouardg merci.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    163
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 163
    Par défaut
    en fait j'avais tenté la choses mais j'avais mis values dans le insert et ça voulait pas passer.

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

Discussions similaires

  1. problème avec les collections
    Par root76 dans le forum Langage
    Réponses: 4
    Dernier message: 08/01/2007, 15h06
  2. pb avec struts et les collections
    Par zola dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 06/04/2006, 10h53
  3. C++ - les collections
    Par Spir dans le forum C++
    Réponses: 14
    Dernier message: 18/06/2005, 20h09
  4. [VB.NET] Utiliser les collections de contrôles (Textbox)
    Par dinbougre dans le forum Windows Forms
    Réponses: 3
    Dernier message: 09/01/2005, 18h57

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