Bonjour,

J'ai une dizaine de tables d'erreurs dans ma base de données oracle.
Je voudrais chaque matin recevoir un mail qui liste toutes les données en erreur de la nuit.

Pour cela j'ai créé une procédure stockée qui va rechercher dans chaque tables les données en erreur.
J'ai donc tout d'abord fait un curseur comme suit :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
 FOR C IN (SELECT TABLE_NAME
           FROM ALL_TABLES
           WHERE TABLE_NAME like ERR_%')
 LOOP
   INSTRUCTION
  END LOOP;
Grâce à cette boucle j'obtiens la liste de mes tables d'erreur.
Ensuite je voudrais table par table lister les lignes en erreur.
Mais comment faire?
du sql dynamique?
Mais comment afficher mon résultat si je fais comme suit:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
le_sql:='SELECT * FROM :1 WHERE FLAG='ERR''
EXECUTE IMMEDIATE le_sql using c.table_name
Mais cela me semble bizarre et je ne vois pas ensuite comment récupérer les données de ma requête.
Quelqu'un pourrait il m'aider?Merci