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

SQL Oracle Discussion :

[9i] Faut-il "vider" les variables tableaux ?


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 55
    Par défaut [9i] Faut-il "vider" les variables tableaux ?
    Bonjour,
    Une petite question simple mais dont la réponse ne me parait pas évidente au premier abord :

    Dans une boucle, lorsque l'on remplit une variable de type tableau associatif avec une instruction BULK COLLECT INTO, faut-il vider cette variable manuellement à chaque ré-itération ou PL/SQL le fait-il implicitement ?

    (si la variable n'est pas vidée automatiquement, on va l'étendre avec les nouvelles valeurs à chaque tour de boucle et c'est ce que je souhaite éviter).

    Merci !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 55
    Par défaut
    Après tests, lorsqu'on refait une instruction BULK COLLECT sur une variable déjà remplie, PL/SQL écrase les anciennes valeurs et les remplace par le résultat de la nouvelle requète.

  3. #3
    Membre à l'essai
    Inscrit en
    Février 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 6
    Par défaut
    Oui, dans le cas ou le bulk ne retourne aucun resultat le tableau n'est pas vidé.

  4. #4
    Expert confirmé
    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
    Par défaut
    La durée de vie d'une collection est la même que n'importe quelle autre variable. Si vous l'utilisez plusieurs fois dans le bloc ou elle est déclarée, vous devrez effectivement la réinitialiser. Le plus souvent, la méthode .delete() fait l'affaire.

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Argentine

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Octobre 2006
    Messages : 1 173
    Par défaut
    j'ignore si c'est la même chose que dans certains langages de programmation, mais il est moins couteux d'effectuer un new Collection() que de faire un collection.removeall par exemple.

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

Discussions similaires

  1. [XL-2007] Problème avec les variables tableaux
    Par MouM38 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 20/09/2010, 23h16

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