PB à toute heure et à tout moment. (à parcourir avec modération)

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 21-06-2007 17:18:09

JCZ  
Builder Power
Award: bf
Lieu: 75019 paris
Date d'inscription: 21-05-2007
Messages: 1724
Pépites: 496,453,703,213
Banque: 9,223,372,036,854,776,000

[ASTUCE] Rownum / Rowcount

Il y a un poste qui ressemble ici
Voila ce que j'ai à dire
Dans oracle avec un curseur style :

Code: sql

  Cursor cpk_toto 
  is
    Select  betise    
     From    toto
    Where  datedebetise = 'SYSDATE'
    order by 1;


Pour l'executer il faut ecrire

Code: sql

        Open  cpk_toto ;
        Fetch cpk_toto  Into A_BETISE;
--> on peut recuperer       A_nbligne := cpk_toto%Rowcount;
        Close cpk_toto ;


Ma remarque est que
cpk_toto%Rowcount n'est pas le Nombre de ligne ramené par la requete du curseur mais Nombre de lignes traitées depuis le premier FETCH
L'astuce est donc de modifier le curseur

Code: sql

  Cursor cpk_toto 
  is
    Select  betise, rownum
     From    toto
    Where  datedebetise = 'SYSDATE'
    order by rowmun desc , 1;


puis l'execute en ecrivant

Code: sql

        Open  cpk_toto ;
        Fetch cpk_toto  Into A_BETISE, A_nbligne;
        Close cpk_toto ;


Voila


Face à l'agression, la puissance de l'intelligence

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22