Pour compter le nombre de lignes de toutes les tables d’un schéma Oracle il est nécessaire d’utiliser le bloc anonyme suivant :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | DECLARE nbLignes NUMBER := 0; BEGIN FOR C1 IN ( select TABLE_NAME from user_tables ) LOOP EXECUTE IMMEDIATE 'SELECT COUNT(*) FROM ' || C1.TABLE_NAME INTO nbLignes; DBMS_OUTPUT.PUT_LINE(C1.TABLE_NAME || ': ' || nbLignes); END LOOP; END; |
Il est bien évidement possible de filtrer les tables en ajoutant une instruction WHERE dans la requête du curseur C1