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 :
package :
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
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; /
Ya t'il un moyen de régler ce problème?
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
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; /
Merci
Jean
Partager