ORACLE - PL SQL - compter le nombre de lignes

yaya2669 Messages postés 31 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 17 mai 2011 - 11 juin 2008 à 10:02
mementosql Messages postés 4 Date d'inscription samedi 23 août 2008 Statut Membre Dernière intervention 27 août 2008 - 27 août 2008 à 20:02
Bonjour,

J'essai tant bien que mal de trouver une fonction qui me permettrait de lister mes tables avec le nombre d'enregistrement dans une base oracle 8.1 .

J'utilise PL/SQL.
Je pensais me servir d'un curseur mais je n'arrive pas à trouver une solution.

J'uilise cette requête pour récupéré toutes mes tables :
SELECT

table_name FROM user_all_tables

Mais après je bloque pour récupérer le nombre d'enregistrement.

Quelqu'un pourrait-il m'aider svp ?

Merci

Ps: J'espere que je suis assez clair et que je me trouve bien dans le bon forum.
A voir également:

1 réponse

mementosql Messages postés 4 Date d'inscription samedi 23 août 2008 Statut Membre Dernière intervention 27 août 2008 1
27 août 2008 à 20:02
Bonjour,

Sous 8i, je ne connais pas. Mais si ce que tu veux, c'est une approximation, tu dois pouvoir récupérer les statistiques.
Sinon voici ce que je te propose, sachant qu'il vaut mieux que ce soit une base pas trop grosse :

begin
for x in (select table_name nomTable FROM user_all_tables)
loop
execute immediate 'select count(*) from :1' into cpt using x.nomTable;

dbms_output.put_line('La table ' || x.nomTable || ' contient ' || cpt || ' lignes')

end loop;
end;
/

(Ici le curseur est implicite  - et il me semble que execute immediate est dispo en 8)

MS
0
Rejoignez-nous