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 régulier

    Inscrit en
    Février 2004
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 120
    Points : 80
    Points
    80
    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 é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

  3. #3
    Membre éclairé 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
    Points : 674
    Points
    674
    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 régulier

    Inscrit en
    Février 2004
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 120
    Points : 80
    Points
    80
    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 éclairé 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
    Points : 674
    Points
    674
    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 régulier

    Inscrit en
    Février 2004
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 120
    Points : 80
    Points
    80
    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 éclairé 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
    Points : 674
    Points
    674
    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