Bonjour
Voici ma fonction en PL/SQL
Elle plante sur la ligne rouge:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 create or replace function getAllSubFundVersions return TT_SUBFUND_VERSIONED PIPELINED as BEGIN FOR cur in ( SELECT * FROM SUBFUND ORDER BY ID_) LOOP PIPE ROW(cur); END LOOP; RETURN; END; /
Function PLS-00382: expression is of wrong type
voici la creation de mes types perso:
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 TYPE T_SUBFUND AS OBJECT( ID_ INT, NAME_ VARCHAR2(60 BYTE), MAJORCLASS_ID_ INT, ROLLALGO_ VARCHAR2(10), EXPIRYNUMBER_ INT, ROLLLAG_ INT, VALOLAG_ INT, STRATEGY_ VARCHAR2(10), CRETIME_ DATE ) NOT FINAL; / CREATE TYPE TT_SUBFUND AS TABLE OF T_SUBFUND; / CREATE TYPE T_SUBFUND_VERSIONED UNDER T_SUBFUND( CREUSER_ NUMBER(11), FROM_ DATE, TO_ DATE )FINAL; / CREATE TYPE TT_SUBFUND_VERSIONED AS TABLE OF T_SUBFUND_VERSIONED; CREATE TABLE SUBFUND OF T_SUBFUND_VERSIONED; /
La question est:
Comment créer un cursor d'un type précis? ici du type T_SUBFUND_VERSIONED.
En cherchant sur let net, j'ai trouvé mention de REF CURSOR mais je comprend pas du tout comment ca marche.
Partager