FETCH sur table de DBMS_ERRORLOG
Bonjour,
Je rencontre un problème avec la lecture par curseur de la table générée par le package DBMS_ERRORLOG..
Le système me répond que j'utilise un mauvais TYPE.
Voici un simple code que j'utilise.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| DECLARE
CURSOR c_test IS SELECT * FROM err$_TABLE;
TYPE t_err IS TABLE OF err$_TABLE:%ROWTYPE;
r_err t_err;
BEGIN
OPEN c_test;
LOOP
FETCH c_test BULK COLLECT INTO r_err LIMIT 100;
FOR i IN 1 .. r_err.COUNT LOOP
DBMS_OUPUT......
END LOOP;
END LOOP;
CLOSE c_test;
END; |
Lorsque que j'exécute cette procédure, erreur sur le type de ma collection.
Est-ce que cela est dû au fait que le nom de la table contient "$" comme les tables systèmes ?
Est-ce dû au fait que des colonnes ont un nom de la sorte "ora_err_tag$" ?
Avez-vous déjà réalisé un FETCH sur une table générée par DBMS_ERRORLOG ?
Je ne comprends pas l'erreur. :(
Pouvez vous m'en dire plus ?
Comment peut on utiliser une collection sur ce type de table ?
Est-ce qu'un simple FOR r_err IN (SELECT * FROM err$_TABLE) LOOP END LOOP suffit pour avoir une collection remplie ?