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

Interfaces de programmation Oracle Discussion :

Optimisation curseur dans un ProC


Sujet :

Interfaces de programmation Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Juillet 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 10
    Par défaut Optimisation curseur dans un ProC
    Bonjour à tous,

    Je fais appel à vos lumières pour pouvoir m'aider à optimiser une requete dans un fichier ProC (en l'occurence dans un .h)

    Ce fichier sert à lancer des traitements d'extraction de données en fontion de parametres qui peuvent être ou non rensignés.
    Le curseur dans ce fichier fait appel à trois tables. Cette requete fonctionne mais elle est assez lente.
    Ce sont les parametres présent ou non qui compléxifie la requete et la ralentit.
    En prenant juste un exemple avec un parametre: soit c'est vide, soit je ramene plusieurs données. Par rapport à la table affaire: soit je ne dois rien ecrire, soitje dois avoir un truc du genre AND A.ID_AFFAIRE IN( ...,...,., ce que je ramene de mon parametre).
    Il faut créer une espece de requete dynamique je pense.
    Sinon possible avec un decode, du genre
    DECODE(:mon_param,NULL, '', 'AND ID_AFFAIRE IN(.....)'); ????

    d'autres idées? sinon est-il possible en ProC d'ecrire une requete en dynamique?

    Merci d'avance.

  2. #2
    Membre Expert
    Inscrit en
    Avril 2006
    Messages
    1 024
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1 024
    Par défaut
    Citation Envoyé par ericz
    sinon est-il possible en ProC d'ecrire une requete en dynamique?
    oui:

    http://download-uk.oracle.com/docs/c..._13dyn.htm#582

  3. #3
    Membre chevronné Avatar de Wurlitzer
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    469
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 469
    Par défaut
    EKIP ?

    Une manière moins lourde que du SQL Dynamique peut être d'écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    WHERE ( mon_param is null
          OR A.ID_AFFAIRE IN (mon_param) )
    mais bon il faut espérer que tu as d'autres conditions dans ta requête pour filtrer efficacement d'un point de vu performance.

Discussions similaires

  1. plusieurs curseurs dans une proc stockée
    Par Papy214 dans le forum SQL
    Réponses: 1
    Dernier message: 12/05/2014, 22h40
  2. Comment faire un Curseur dans Proc Stockée
    Par Cazaux-Moutou-Philippe dans le forum Firebird
    Réponses: 1
    Dernier message: 20/01/2009, 12h08
  3. Réponses: 15
    Dernier message: 26/03/2004, 17h53
  4. Position du curseur dans un TMemo
    Par yokito dans le forum Composants VCL
    Réponses: 3
    Dernier message: 28/08/2003, 16h35
  5. Position du curseur dans Edit
    Par MrJéjé dans le forum C++Builder
    Réponses: 3
    Dernier message: 20/06/2002, 17h09

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