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 :

[9i][SQLPLUS][PL/SQL] For, curseur implicite et ROWCOUNT ?


Sujet :

Oracle

  1. #1
    Membre confirmé

    Inscrit en
    Février 2004
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 120
    Par défaut [9i][SQLPLUS][PL/SQL] For, curseur implicite et ROWCOUNT ?
    Je voudrais savoir pourquoi le code suivant ne permet l'affichage du nombre des lignes traité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    .....
    FOR emp_rec  IN (SELECT *
                     FROM emp
                     )
    LOOP
     
       ......
     
    END LOOP;
    DBMS_OUTPUT.PUT_LINE(SQL%ROWCOUNT);
    ......
    @+SALI

  2. #2
    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

  3. #3
    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
    %ROWCOUNT ne s'applique que dans le cas des curseurs explicites.

    Une instruction %ROWCOUNT placee la ou elle est suggeree ramera le compteur de ligne relevant du dernier curseur explicite execute, fut-il place dans la boucle ou avant la boucle.

    Techniquement, ca marche; en revanche, question proprete, c'est assez laid a mon gout.

  4. #4
    Membre confirmé

    Inscrit en
    Février 2004
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 120
    Par défaut
    je croyais que j'utilisait un curseur implicite.
    Est ce que tu 'as une idée comment afficher le contenu de la Table EMP en utilisant un curseur implicite :

  5. #5
    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
    Justement, un curseur implicite sera cree en reponse a l'utilisation du FOR-LOOP. Donc %ROWCOUNT, %ISOPEN, %FOUND, %NOTFOUND ne peuvent etre employees.

  6. #6
    Membre confirmé

    Inscrit en
    Février 2004
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 120
    Par défaut
    normalement avec un curseur implicite le nombre de lignes affecteé par la derniere instruction SQL se trouve dans l'attribut SQL%ROWCOUNT

  7. #7
    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
    Les operations DMLs standards comme SELECT INTO, UPDATE, DELETE, INSERT provoquent aussi la creation de curseurs implicites sur lesquels SQL%ROWCOUNT fonctionnera, c'est vrai, mais cela ne s'applique pas sur les curseurs implicitement cree par les FOR-LOOP.

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

Discussions similaires

  1. sql%rowcount et curseur implicite
    Par wahnfried dans le forum PL/SQL
    Réponses: 5
    Dernier message: 27/10/2010, 11h12
  2. [PL-SQL] contenu curseur
    Par pitre dans le forum Oracle
    Réponses: 9
    Dernier message: 17/08/2006, 15h25
  3. [9i][SQLPLUS][PL/SQL] LPAD et le caractere espace ?
    Par sali dans le forum Sql*Plus
    Réponses: 5
    Dernier message: 12/04/2006, 14h15
  4. [9i][SQLPLUS][PL/SQL] ORA-20000 ?
    Par sali dans le forum Oracle
    Réponses: 1
    Dernier message: 06/04/2006, 08h04
  5. Réponses: 5
    Dernier message: 12/02/2006, 06h37

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