IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PL/SQL Oracle Discussion :

Erreurs sur procédure PL/SQL avec fonction case


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 132
    Par défaut Erreurs sur procédure PL/SQL avec fonction case
    Bonjour,

    J’ai des messages d’erreurs lors de la compilation de ma procedure qui utilise une fonction CASE :

    PLS-00220: simple name required in this context

    Je cherche à soustraire une monnaie et un montant et à les mettre dans les variables v_spec_div_prov_currency , v_spec_div_in_prov_amount

    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
    25
    26
    27
     
    BEGIN
       IF is_RIMES 
       THEN
           SELECT vt.currency_code,
                  vt.terms,
                  vt.event_type
            INTO  v_sec_currency_code,
                  v_terms,
                  v_event_type,
                  CASE vt.event_type
                  WHEN 'SPEC_DIV' THEN
                       substr(regexp_substr(vt.terms,'Special [[:upper:]]{3} [[:digit:]]{1}.[[:digit:]]*',1),9,3)
                     ELSE NULL
                  END v_spec_div_prov_currency,
                  CASE vt.event_type
                     WHEN 'SPEC_DIV' THEN
                       substr(regexp_substr(vt.terms,'Special [[:upper:]]{3} [[:digit:]]{1}.[[:digit:]]*',1),13)
                      ELSE NULL
                   END v_spec_div_in_prov_amount 
              FROM VALUATION_TEMP vt
             WHERE vt.termsdate = vt.evaluation_date
               AND vt.STATUS = 'OK' ;        
              --
     
    END IF; 
    END;
    Toutes mes variables v_sec_currency_code, v_terms, v_event_type, v_spec_div_prov_currency , v_spec_div_in_prov_amount sont bien déclarées.

    Pourriez-vous SVP m’aider à la corriger ?

    Grand merci !
    Djene

  2. #2
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 953
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 953
    Par défaut
    Les CASE doivent être dans le select, pas dans le INTO
    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
    SELECT vt.currency_code,
           vt.terms,
           vt.event_type,
           CASE vt.event_type
                WHEN 'SPEC_DIV' THEN 
                     substr(regexp_substr(vt.terms,'Special [[:upper:]]{3} [[:digit:]]{1}.[[:digit:]]*',1),9,3)
                ELSE NULL
           END as c1,
           CASE vt.event_type
                WHEN 'SPEC_DIV' THEN 
                     substr(regexp_substr(vt.terms,'Special [[:upper:]]{3} [[:digit:]]{1}.[[:digit:]]*',1),13)
                ELSE NULL
           END as c2
      INTO v_sec_currency_code,
           v_terms,
           v_event_type,
           v_spec_div_prov_currency,
           v_spec_div_in_prov_amount
      FROM VALUATION_TEMP vt
     WHERE vt.termsdate = vt.evaluation_date
       AND vt.STATUS = 'OK' ;

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    132
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Décembre 2004
    Messages : 132
    Par défaut Erreur sur procédure PL/SQL avec fonction CASE
    Bonjour,


    Grand merci skuatamad !

    Djene

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur sur une requête SQL
    Par olivier57b dans le forum JPA
    Réponses: 2
    Dernier message: 26/11/2008, 12h49
  2. Erreur sur une Requete SQL - SELECT
    Par Freud44 dans le forum C++Builder
    Réponses: 6
    Dernier message: 26/05/2008, 11h39
  3. AIDE SUR REQUETE SQL AVEC FONCTION LIKE
    Par everblue dans le forum Langage SQL
    Réponses: 0
    Dernier message: 16/03/2008, 18h56
  4. Erreur sur inclusion types.h avec cygwin
    Par Bayard dans le forum Réseau
    Réponses: 12
    Dernier message: 12/11/2006, 16h48
  5. [Pl/pgSQL] Erreur sur l'execution d'une fonction.
    Par Floréal dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 25/09/2005, 00h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo