Problème de Curseur sur une Collection
Bonjour,
j'ai un souci avec la déclaration d'un Curseur sur une Collection.:cry:
Peut-être même que cela n'est pas possible.:calim2:
Voici mon code (simplifié) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
TYPE typ_c_curseur IS REF CURSOR;
PROCEDURE proc1 (pio_c_curseur OUT typ_c_curseur)
IS
CURSOR v_c_donneur_manquant
IS
SELECT cont_code AS code_contrat, cont_libelle AS libelle_contrat,
'Tiers donneur manquant'AS erreur
FROM contrats
WHERE contrats.cont_actif =1
AND contrats.cont_isarchived =0
AND contrats.cont_pk NOT IN (SELECT cont_trs_cont_fk
FROM contrats_tiers
WHERE cont_trs_typ_trs ='PRENEUR');
TYPE t_bail_errone IS RECORD(
code_contrat VARCHAR2(200),
libelle_contrat VARCHAR2(200),
erreur VARCHAR2(200)
);
TYPE tab_t_bail_errone IS TABLE OF bail_errone INDEX BY BINARY_INTEGER;
mes_baux_err tab_t_bail_errone;
v_n_compteur INTEGER:=0;
BEGIN
OPEN v_c_donneur_manquant;
LOOP
BEGIN
v_n_compteur := v_n_compteur +1;
FETCH v_c_donneur_manquant
INTO mes_baux_err (v_n_compteur);
EXIT WHEN v_c_donneur_manquant%NOTFOUND;
EXCEPTION
WHEN OTHERS
THEN
RAISE;
END;
END LOOP;
CLOSE v_c_donneur_manquant;
OPEN pio_c_curseur FOR
SELECT code_contrat, libelle_contrat, erreur
FROM mes_baux_err
ORDER BY code_contrat, libelle_contrat, erreur;
END proc1;
|
J'ai une erreur à la compilation : Erreur 00942 - Table ou vue inexistante.
Sur la déclaration d'ouverture du curseur pio_c_curseur.
Merci de m'aider ou de me dire que ma façon de faire est erronée.
(Je pense utiliser une table temporaire sinon).
Problème de Curseur sur une Collection
J'ai tenté cette solution mais ça ne marche pas mieux.
Je prend donc la solution de créer une structure de table que je remplirais au fur et à mesure.
Je construirait à la fin mon cursuer sur cette table.