Boucle à travers plusieurs tables pour exécuter la même requête

J'ai une base de données dans laquelle par jour une table est créée pour le journal des instances de processus.
Les tables sont étiquetés MESSAGE_LOG_YYYYMMDD

Actuellement je veux séquentiellement exécuter la même REQUÊTE à l'encontre de tous ces tableaux.
J'ai écrit le code PL/SQL ci-dessous, mais est resté coincé à la ligne 10. Comment puis-je exécuter l'instruction SQL avec succès contre toutes les tables?

DECLARE
  CURSOR all_tables IS
    SELECT table_name
            FROM all_tables 
            WHERE TABLE_NAME like 'MESSAGE_LOG_2%' 
            ORDER BY TABLE_NAME ;

BEGIN
  FOR msglog IN all_tables LOOP
    SELECT count(*) FROM TABLE msglog.TABLE_NAME ;
  END LOOP;
END;
/
Si vous êtes en mesure de modifier le schéma de base de données et la logique d'application, il serait beaucoup mieux d'utiliser un seul tableau avec une colonne de date.

OriginalL'auteur pcvnes | 2011-03-16