Bonjour,

J'ai un problème de syntaxe avec l'utilisation de Curseur Explicite au sein d'un Package voila le cas :

SPEC
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
create or replace
PACKAGE PKG_RIGHTMNGT AS

  -- VALEURS RENVOYER PAR LES FONCTIONS
  aclDefault XMLTYPE ;  
  
  CURSOR xmlname_cur RETURN XMLTYPE ; -- declare cursor spec
   
  -- Renvoi les ACLs par default d'un profile
  function acl_default(profile_in IN VARCHAR2) return XMLTYPE ;
END PKG_RIGHTMNGT;
BODY
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
create or replace
PACKAGE BODY PKG_RIGHTMNGT AS  
  
  -- Renvoi les ACLs par default d'un profile
  function acl_default(profile_in IN VARCHAR2) return XMLTYPE AS  
  BEGIN  
    
    CURSOR xmlname_cur RETURN XMLTYPE IS
      SELECT
        XMLElement("XMLNAME", 
          XMLAttributes(extractValue(ACL_DEF,'/FIELDS/XMLNAME/@ID') AS "ID"),
          XMLElement("PROFILE", XMLElement( profile_in,extract(ACL_DEF,'/FIELDS/XMLNAME/PROFILE/'||profile_in||'/text()'))))
      FROM 
        Tfields ;
    ...
    RETURN aclDefault ;
  END acl_default ;
  
END PKG_RIGHTMNGT;
comment peut on déclaré ce curseur de facon Valide...

J'ai lu la doc d'Oracle mais l'exemple donnée (avec une requete simple) adapté à mon cas... est invalide...

merci de votre aide...


INFO :: Base Oracle en 10gR2