Partage
  • Partager sur Facebook
  • Partager sur Twitter

[RESOLU] [ORACLE] PLSQL : Erreur de syntaxe

Utilisation de CURSOR dans une FUNCTION d'un PACKAGE

    4 novembre 2020 à 14:07:57

    Après quelques heures de recherche, il s'avère qu'il fallait seulement "déclarer les headers" dans le package et créer un "package body" avec l'implémentation. Voilà, en espérant aider qqun.

    Bonjour,

    J'ai une erreur de syntaxe que je n'arrive pas à comprendre et de ce fait, mon package ne compile pas... Je tourne en boucle depuis qq heures et les recherche sur le net n'ont rien données...

    J'ai apparemment une erreur avec le mot clé "CURSOR" ci-dessous. J'ai vérifié, la requête de mon curseur fonctionne bien.

    Je suis sur Oracle 12c.

    Voici l'erreur :

    Package *****:

    Erreur(18,3): PLS-00103: Symbole "CURSOR" rencontré à la place d'un des symboles suivants :     language 

    P.S : J'ai volontairement obfusqué les noms des variables et la requête SQL ici mais la syntaxe est identique.

    CREATE OR REPLACE PACKAGE MY_PACKAGE AS 
        ParamName1 CONSTANT NUMBER(1) := 1;
        ParamName2 CONSTANT NUMBER(1) := 2;
        ParamName3 CONSTANT NUMBER(1) := 3;
        ParamName4 CONSTANT NUMBER(1) := 4;
        ParamName5 CONSTANT NUMBER(1) := 5;
        
        
    
      /*****************************
       * Debut fonction principale *
       *****************************/
      FUNCTION main (id NUMBER) 
        RETURN CLOB
      IS
    
      /* Local variables declaration */
      CURSOR myCursor IS 
        WITH TMP_TABLE AS (
          SELECT * FROM MY_TABLE
        )
        SELECT * FROM TMP_TABLE
      ;
    
      BEGIN
      OPEN myCursor;
      output = '';
      FOR l IN myCursor  LOOP
        /* ... Do some stuff ... */
      END LOOP;
      
      RETURN output;
      
      END main; END MY_PACKAGE;


    Voilà, si quelqu'un voit ce qui cloche ici, je suis preneur ! :)

    Par avance, merci.

    -
    Edité par zenko 4 novembre 2020 à 16:25:41

    • Partager sur Facebook
    • Partager sur Twitter

    [RESOLU] [ORACLE] PLSQL : Erreur de syntaxe

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown