[PL/SQL] FUNCTION qui renvoie un ensemble :D
Oui jsais que c'est un sujet qui est revenu maintes et maintes fois sur le tapis...
J'ai parcouru tout developpez.com sans trouver une réponse à ma question. Mais si jamais la réponse est qqe part je vous autorise à me foutre des grands coups de latte dans la gueule. Bref...
2 packages
package1 :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
CREATE OR REPLACE PACKAGE monpackage1 AS
TYPE montype IS TABLE OF VARCHAR2(255) INDEX BY BINARY_INTEGER;
FUNCTION mafonction_pk1 RETURN montype;
END monpackage1;
CREATE OR REPLACE PACKAGE BODY monpackage1 AS
FUNCTION mafonction_pk1 RETURN montype IS
monretour montype;
BEGIN
monretour(1) := 'moncontenu1';
monretour(2) := 'moncontenu2';
monretour(3) := 'moncontenu3';
RETURN monretour;
END mafonction_pk1;
END monpackage1; |
package2 :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
|
CREATE OR REPLACE PACKAGE monpackage2 AS
TYPE montype IS TABLE OF VARCHAR2(255) INDEX BY BINARY_INTEGER;
PROCEDURE maprocedure_pk2;
END monpackage2;
CREATE OR REPLACE PACKAGE BODY monpackage2 BODY AS
PROCEDURE maprocedure_pk2 IS
mavariable montype;
BEGIN
mavariable := monpackage1.mafonction_pk1;
END mafonction_pk2;
END monpackage2; |
Impossible de compiler le corps de monpackage2 :cry: :cry: :cry:
Je pensais que ça pouvait venir du fait que le moteur prend montype de monpackage1 et montype de monpackage2 pour des types différents mais même en castant avec la formule suivante :
Code:
1 2
|
mavariable := CAST(monpackage1.mafonction_pk1 AS montype); |
...ça marche po...
PleeEaaAse ... *Help*