Remplir REF CURSOR avec un objet "Is Table or Record"
Bonjour,
j'utilise un paramètre REF CURSOR OUT sur une procédure stockée. Lorsque je remplit ce curseur avec une table de la base tout fonctionne mais lorsque que je veux le remplir avec un objet de type is table of record, cela ne fonctionne pas.
Un petit exemple :
Package body :
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
|
CREATE OR REPLACE PACKAGE ADM.packagecrystal
AS
TYPE curseurtype IS REF CURSOR;
TYPE envoi IS RECORD (
dtetlr histo_envoi.dtetlr%TYPE,
ptrcod histo_envoi.ptrcod%TYPE,
mesurej histo_envoi.mesure%TYPE,
mesurem histo_envoi.mesure%TYPE,
maxdatej histo_envoi.dtemaj%TYPE,
maxdatem histo_envoi.dtemaj%TYPE,
absenvoij NUMBER (1),
absenvoim NUMBER (1)
);
TYPE tableenvoi IS TABLE OF envoi
INDEX BY BINARY_INTEGER;
PROCEDURE proceduref01e1 (
retour OUT packagecrystal.curseurtype
);
END packagecrystal;
/ |
package :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
CREATE OR REPLACE PACKAGE BODY adm.packagecrystal
AS
PROCEDURE proceduref01e1 (retour OUT packagecrystal.curseurtype)
IS
BEGIN
DECLARE
resultat packagecrystal.tableenvoi;
-------------------------
-- Remplissage de resultat
-------------------------
OPEN retour FOR
select *
FROM resultat; -- Ceci ne fonctionne pas
END;
END packagecrystal;
/ |
Ya t'il un moyen de régler ce problème?
Merci
Jean