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 :

Problème ( bloquant ) : " Procedure stockée "


Sujet :

PL/SQL Oracle

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2008
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Problème ( bloquant ) : " Procedure stockée "
    Bonjour , j'ai crée cette procedure , mais je recois comme erreur :Avertissement : Procédure créée avec erreurs de compilation.
    alors je ne sais pas exactement pourquoi, j'ai tous mes tables correctes , donc je me trouve pérturbé !

    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
     
    SQL> CREATE procedure anas
      2   (
      3      lemat   OUT EMPLOYEE.EMPLOYEE_ID%Type,
      4      ddebut  OUT POINTAGE.POINTAGE_DATE%Type,
      5      dfin   OUT POINTAGE.POINTAGE_DATE%Type;
      6   ) IS
      7      lemat   OUT EMPLOYEE.EMPLOYEE_ID%Type,
      8      ddebut  OUT POINTAGE.POINTAGE_DATE%Type,
      9      dfin   OUT POINTAGE.POINTAGE_DATE%Type;
     10   BEGIN
     11  
     12    SELECT  POINTAGE.POINTAGE_DATE , POINTAGE.POINTAGE_CLOCKIN , POINTAGE.POINTAGE_CLOCKOUT , EMP
    LOYEE.EMPLOYEE_NAME , EMPLOYEE.EMPLOYEE_ID
     13    FROM    POINTAGE,EMPLOYEE
     14    WHERE  EMPLOYEE.EMPLOYEE_ID=POINTAGE.EMPLOYEE_ID
     15    and      EMPLOYEE.EMPLOYEE_ID= lemat  
     16    and      POINTAGE.POINTAGE_DATE between ddebut and dfin ;
     17  
     18   END;
     19  /
     
    Avertissement : Procédure créée avec erreurs de compilation.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Août 2005
    Messages
    316
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 316
    Points : 388
    Points
    388
    Par défaut
    tape show error apres la complilation pour afficher la liste des erreurs

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 178
    Points : 220
    Points
    220
    Par défaut
    Citation Envoyé par moutaki Voir le message
    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
    SQL> CREATE procedure anas
      2   (
      3      lemat   OUT EMPLOYEE.EMPLOYEE_ID%Type,
      4      ddebut  OUT POINTAGE.POINTAGE_DATE%Type,
      5      dfin   OUT POINTAGE.POINTAGE_DATE%Type;
      6   ) IS
      7      lemat   OUT EMPLOYEE.EMPLOYEE_ID%Type,
      8      ddebut  OUT POINTAGE.POINTAGE_DATE%Type,
      9      dfin   OUT POINTAGE.POINTAGE_DATE%Type; 10   BEGIN
     11  
     12    SELECT  POINTAGE.POINTAGE_DATE , POINTAGE.POINTAGE_CLOCKIN , POINTAGE.POINTAGE_CLOCKOUT , EMP
    LOYEE.EMPLOYEE_NAME , EMPLOYEE.EMPLOYEE_ID
     13    FROM    POINTAGE,EMPLOYEE
     14    WHERE  EMPLOYEE.EMPLOYEE_ID=POINTAGE.EMPLOYEE_ID
     15    and      EMPLOYEE.EMPLOYEE_ID= lemat  
     16    and      POINTAGE.POINTAGE_DATE between ddebut and dfin ;
     17  
     18   END;
     19  /
    
    Avertissement : Procédure créée avec erreurs de compilation.
    Tu as un ";" en trop à la fin des arguments.

    Tu as répété inutilement les arguments de la fonction entre "IS" et "BEGIN".

    Tu ne peux pas faire un SELECT seul comme ça :

    - soit tu récupères un unique enregistrement dans des variables avec un SELECT INTO, ce qui semble semble être ce que tu veux étant donnés les paramètres OUT

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT col1, 
        col2
    INTO var1,
        var2
    FROM ...
    - soit tu déclares un SYS_REFCURSOR, tu l'ouvres et tu le retournes pour que les résultats soient "fetchés" par l'appelant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    OPEN rc FOR
        SELECT ...
    Et dans tous les cas, utilises effectivement "show errors"

Discussions similaires

  1. Problème avec les procedures stockées.
    Par saymon dans le forum Développement
    Réponses: 1
    Dernier message: 14/04/2009, 13h50
  2. problème de syntaxe (procedures stockées)
    Par diamentelle dans le forum SQL Procédural
    Réponses: 1
    Dernier message: 21/02/2009, 01h15
  3. Problème avec une procedure stockée
    Par freud dans le forum SQL
    Réponses: 8
    Dernier message: 21/07/2008, 19h20
  4. problème de syntaxe procedure stockée
    Par chti_juanito dans le forum Langage SQL
    Réponses: 1
    Dernier message: 19/04/2007, 15h03

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