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.
Lorsque que j'exécute cette procédure, erreur sur le type de ma collection.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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;
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 ?
Partager