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 :
package2 :
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 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;
Impossible de compiler le corps de monpackage2
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 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;
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 :
...ça marche po...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 mavariable := CAST(monpackage1.mafonction_pk1 AS montype);
PleeEaaAse ... *Help*
Partager