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 :

PL-SQL -- Tableau sur lequel on peut faire un fetch et un update ? (Oracle 9i)


Sujet :

Oracle

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2
    Points : 2
    Points
    2
    Par défaut PL-SQL -- Tableau sur lequel on peut faire un fetch et un update ? (Oracle 9i)
    Salut à tous,

    je suis un peu novice sur PL-SQL et j'ai la problématique suivante :

    Je voudrais pouvoir definir un tableau de n*lignes (n dynamique) et 2 colonnes (un identifiant et un montant) sur lesquel je pourrais en cours de procédure :
    - recuperer la valeur du montant d'un "identifiant" donné passé en paramètre
    - mettre à jour la valeur correspondant à cet identifiant si necessaire

    et ceci avec un tableau de 1000 lignes environ. j'ai pensé à definir une table temporaire mais le problème est que cette fonction est appelée plusieurs dizaines de milliers de fois et que les performances sont minables.

    Merci de votre aide.

  2. #2
    En attente de confirmation mail
    Inscrit en
    Décembre 2004
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 20
    Points : 20
    Points
    20
    Par défaut
    Salut,
    Il vaut mieux créer la table plsql en tant que type et créer une table sql avec du même type que celle en plsql (NESTED TABLE), et faire tes insertions, modifications, consultations avec une grande facilité, c'est le côté objet d'oracle quil est vivement conseillé d'utiliser...
    Bonne continuation

  3. #3
    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
    Et merci d'appliquer les règles en indiquant la version des produits que vous utilisez.
    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

  4. #4
    Membre éclairé Avatar de plabrevo
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    547
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2005
    Messages : 547
    Points : 670
    Points
    670
    Par défaut
    Citation Envoyé par Amazigh
    le problème est que cette fonction est appelée plusieurs dizaines de milliers de fois et que les performances sont minables.
    appelles plusieurs milliers de fois par seconde, par minute, par heure ou par jour?
    Tableau vs Table temporaire, le gain ou la perte de performance ne seront pas la meme suivant que le tableau a 10, 100, 1000, 100.000 enregistrements, la facon dont il est initialise et la facon dont il est utilise. Avec 1.000 enregistrements pour de la recherche pure, j'aurai tendance a penser que la table temporaire l'emportera haut la main, surtout si elle est indexee.

Discussions similaires

  1. Récupérer l'index du tableau sur lequel on a cliqué
    Par chok371 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/01/2011, 01h31
  2. Conteneur transparent sur lequel on peut dessiner (hDC)
    Par windob dans le forum VB 6 et antérieur
    Réponses: 20
    Dernier message: 20/01/2008, 18h58
  3. Réponses: 2
    Dernier message: 01/10/2007, 15h09
  4. Réponses: 2
    Dernier message: 03/12/2006, 12h37
  5. Réponses: 12
    Dernier message: 31/12/2005, 16h01

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