Quoi, tu ne connais pas PB ? Va falloir parcourir tout le forum alors !

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 19: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,775,808

[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