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

SQL Oracle Discussion :

probleme a l'execution d'une procedure.


Sujet :

SQL Oracle

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4
    Points : 5
    Points
    5
    Par défaut probleme a l'execution d'une procedure.
    bonjour,

    je souhaiterais un peu d'aide car je debute et je n'arrive pas a executer une procedure a l'interieur d'un package dont la compilation que ce soit la specification ou le body a réussi et dont voici le message d'erreur (version d'oracle utiliser :10g) :
    ERREUR a la ligne 1 :
    ORA-06550: ligne 1 , colonne 7
    PLS-00201: l'identificateur 'GESTIONCOMPAGNIE.MOY_SALAIRES' doit etre declaré
    ORA-06550: ligne 1 , colonne 7
    PL/SQL:Statement ignored
    apres la commande : exec GestionCompagnie.Moy_salaire;

    et dont voici le code :

    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
    CREATE OR REPLACE PACKAGE BODY GESTION_COMPAGNIE AS
     
     PROCEDURE Moy_Salaire  AS
    	cursor curseur1 is select salaire From pilote
    			where(age>=30 and age<=40);
    	salaire_Pilote	pilote.salaire%type;
    	somme_Salaire	number:=0;
    	moy_Salaire		number;
     
       BEGIN
        open curseur1;
    	  loop
    			fetch curseur1 into salaire_Pilote;
    			exit when (curseur1%NOTFOUND OR curseur1%NOTFOUND IS NULL);
    			somme_Salaire:=somme_Salaire+salaire_Pilote;
    		end loop;
    	moy_Salaire := somme_Salaire/curseur1%ROWCOUNT;
    	close curseur1;
        DBMS_OUTPUT.PUT_LINE('Moyenne salaires :'|| moy_Salaire);
    	END Moy_Salaire;
     
    END GESTION_COMPAGNIE;   
    /
    merci d'avance de votre aide.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    149
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2007
    Messages : 149
    Points : 167
    Points
    167
    Par défaut
    J'aurais tendance a dire

    GESTIONCOMPAGNIE ou GESTION_COMPAGNIE ? : )

    Voir meme

    MOY_SALAIRES ou MOY_SALAIRE

  3. #3
    Invité
    Invité(e)
    Par défaut

  4. #4
    Expert éminent sénior Avatar de mnitu
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2007
    Messages
    5 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2007
    Messages : 5 611
    Points : 11 252
    Points
    11 252
    Par défaut
    Commencez par aprendre le SQL. Cella vous aidera à ne plus écrire du code PL/SQL la ou le SQL suffit.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    352
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 352
    Points : 415
    Points
    415
    Par défaut
    POurquoi passe-tu par un curseur ?

    tu pourrais tout simplement faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    begin
         select avg(salaire) into moy_Salaire from pilote
         WHERE(age>=30 AND age<=40);
     
         DBMS_OUTPUT.PUT_LINE('Moyenne salaires :'|| moy_Salaire);
    end moy_salaires;

Discussions similaires

  1. Probleme sur l'execution d'une Tâche LOT DTS
    Par SILO dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 23/08/2006, 16h04
  2. problème d'execution d'une procedure
    Par new_wave dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 12/08/2006, 13h27
  3. Réponses: 7
    Dernier message: 01/06/2006, 16h43
  4. [SQL-Server] Execution d'une procedure stockée SQL Serveur depuis PHP.
    Par gregb34 dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 04/05/2006, 01h06
  5. Execution d'une procedure avec TNotifyEvent;
    Par Chupakabra dans le forum Langage
    Réponses: 2
    Dernier message: 30/01/2003, 14h50

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