Bonjour

J'ai un curseur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
      CURSOR c_services   IS
         SELECT   libelle_site || ' - ' || libelle_service [b]"libelle"[/b], id_service
             FROM service sv, site s
            WHERE s.id_site = sv.id_site
         ORDER BY libelle_site || ' - ' || libelle_service;
et une boucle :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
      liste_services := '<select name="FONCTION">';
 
      FOR rec IN c_services
      LOOP
         liste_services :=  liste_services  || '<option value="'  ||  rec.id_service  || '">'  || rec.[b]libelle[/b] || '</option>';
      END LOOP;
Je ne comprend pas pourquoi j'obtiens une erreur "PLS-00302: component 'LIBELLE' must be declared" à la compilation, au niveau de la boucle. N'est il pas possible de nommer des champs "composés" avec un curseur ? (j'ai essayé ma requete du curseur sous Sql/plus, elle fonctionne bien).

Si pas possible, comment proceder ? Dois-je reecrire ma requete de facon a recuperer que des champs "simples", puis les concatener dans ma boucle ? (ca ne m'arrange pas, car il y aura plein de boucles en fait, et ca alourdira d'autant plus mon code).

Merci
L.