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 :

Curseur et clause WHERE CURRENT OF


Sujet :

Oracle

Vue hybride

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

    Informations forums :
    Inscription : Décembre 2002
    Messages : 6
    Par défaut Curseur et clause WHERE CURRENT OF
    Bonjour,

    J'ai une petite question curseur : lorsque je fais un curseur sur une table, je ne peux pas compiler la procedure si la table n'existe pas. Or, pour les besoins d'une application, je dois compiler toutes les procedures sur une base vide et ensuite les appeler au fur et à mesure que l'appli crée les tables.

    Jusqu'a present, la seule solution que j'ai trouvée serait de passer par un curseur dynamique mais du coup je ne peux plus utiliser la clause WHERE CURRENT OF dans une requete UPDATE.

    Y a t-il une autre solution qui me permet d'utiliser la clause WHERE CURRENT OF et eviter les parcours inutiles de la table ?

    Merci d'avance,

    Laetitia

  2. #2
    Membre éprouvé Avatar de Process Linux
    Inscrit en
    Septembre 2003
    Messages
    136
    Détails du profil
    Informations forums :
    Inscription : Septembre 2003
    Messages : 136
    Par défaut
    Est ce que tu as essayer de reprendre le programme avec les curseurs dynamique, où tu peux construire la requête et l'ouvrir au moment d'execution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    Declare
      TYPE TYP_REF_CUR IS REF CURSOR ;
      -- variable curseur
      CEMP TYP_REF_CUR ;
      -- variables d'accueil 
      LN$Num EMP.empno%Type ;
      LC$Nom EMP.ename%Type ;
      LC$Job EMP.job%Type ; 
      Begin  
     Open CEMP For 'Select empno, ename, job From EMP'; -- ouverture du curseur
     Loop
     Fetch CEMP Into LN$Num, LC$Nom, LC$Job ; -- Lecture d'une ligne
     Exit When CEMP%NOTFOUND ; -- sortie lorsque le curseur ne ramène plus de ligne
     End loop ;
     Close CEMP ; -- fermeture du curseur
     End ;
     /
    tu trouveras une description plus complète dans ce tutorial : http://sheikyerbouti.developpez.com/pl_sql/
    dans la partie curseurs

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 6
    Par défaut
    Merci pour la reponse et l'explication mais comme je l'ai dit dans mon post je cherche une autre solution que les curseurs dynamiques car cela implique des temps d'execution beaucoup trop long que je ne peux tolerer dans mon application (une application de data mining qui traite plus de 30000 documents textes).

    Donc y-a t'il une facon de faire avec un curseur statique ?

    Merci.
    Laetitia

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

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut
    Citation Envoyé par mystia
    les curseurs dynamiques car cela implique des temps d'execution beaucoup trop long
    J'en doute. Il n'y a aucune difference au runtime. L'explication d'un pb de perf est ailleurs.

Discussions similaires

  1. Réponses: 3
    Dernier message: 07/01/2014, 11h46
  2. clause where current of
    Par new_wave dans le forum SQL
    Réponses: 5
    Dernier message: 27/11/2007, 08h41
  3. [PL/SQL] curseurs et valeur Null dans la clause WHere
    Par etoileDesNeiges dans le forum Oracle
    Réponses: 13
    Dernier message: 11/12/2006, 16h58
  4. probleme avec le caractere 'Z' dans ma clause WHERE
    Par dibox dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 01/04/2004, 12h21
  5. [ character en simple cote ] clause Where
    Par hocinema dans le forum DB2
    Réponses: 3
    Dernier message: 20/02/2004, 10h17

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