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 :
Grâce à cette boucle j'obtiens la liste de mes tables d'erreur.
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;
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:Mais cela me semble bizarre et je ne vois pas ensuite comment récupérer les données de ma requête.
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
Quelqu'un pourrait il m'aider?Merci
Partager