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 :

Erreur inconnue: PLS-00225: référence de sous-programme ou de curseur 'OGC_X' est hors étendue


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Inscrit en
    Décembre 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 2
    Par défaut Erreur inconnue: PLS-00225: référence de sous-programme ou de curseur 'OGC_X' est hors étendue
    Bonjour,

    Je suis en étude de développement d'application et pour mon projet on me demande de créer une procédure PL/SQL qui insère une ligne dans une table nommé FACTURE.
    Voici mon 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
     
    CREATE OR REPLACE PROCEDURE NVFACTURE
    (resid IN INTEGER) IS 
    CURSOR cr IS SELECT res_id,clit_nom_societe,clit_nom,clit_prenom,clit_adresse,hot_nom,hot_adresse,hot_tel,hot_site_web,res_date_arr,res_date_dep,res_nb_nuits,cha_num,pr_prix,ser_fac_prix_total_ht from client,reservation,prix,chambre,hotels,services_fact,service_proposer
    where resid=res_id and res_clit=clit_code and res_cha=cha_id and cha_prix=pr_id and cha_hot=hot_id and ser_fac_fac_id=res_id and ser_fac_ser_id=ser_prop_id;
    montantht NUMBER(5,2);
    totalserv NUMBER(5,2);
    tva NUMBER(5,2);
    montantttc NUMBER(5,2);
    BEGIN
    	select sum(ser_fac_prix_total_ht) into totalserv from services_fact where ser_fac_fac_id=resid;
    	montantht:= x.res_nb_nuits*x.pr_prix+totalserv;
    	tva:=montantht*0.196;
    	montantttc:=montantht+tva;
    	FOR X IN CR LOOP
    		INSERT INTO FACTURE VALUES (sq_facture.NEXTVAL,sysdate,x.res_id,x.clit_nom_societe,x.clit_nom,x.clit_prenom,x.clit_adresse,x.hot_nom,x.hot_adresse,x.hot_tel,x.hot_site_web,x.res_date_arr,x.res_date_dep,x.res_nb_nuits,x.cha_num,x.pr_prix,totalserv,montantht,tva,montantttc);
    		dbms_output.put_line('facture creer');
    	END LOOP;
    END;
    Je suis sous oracle iSQL*Plus et il me renvoie les erreurs suivantes

    LINE/COL ERROR
    11/2 PL/SQL: Statement ignored
    11/16 PLS-00225: référence de sous-programme ou de curseur 'OGC_X' est hors étendue

    Je ne comprend pas du tout la seconde erreur et j'aurai aimé de plus amples information sur cette dernière.

    Merci d'avance

  2. #2
    Expert confirmé 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
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ...
      montantht:= x.res_nb_nuits*x.pr_prix+totalserv;
    Ce quoi x dans ce ligne de code ? Vous l'avez defini où ?

  3. #3
    Candidat au Club
    Inscrit en
    Décembre 2010
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Décembre 2010
    Messages : 2
    Par défaut
    Merci grâce a vous j'ai pu repairé mon erreur
    En réalité le bloque de calcule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select sum(ser_fac_prix_total_ht) into totalserv from services_fact where ser_fac_fac_id=resid;
    		montantht:= x.res_nb_nuits*x.pr_prix+totalserv;
    		tva:=montantht*0.196;
    		montantttc:=montantht+tva;
    doit se trouver dans la boucle FOR et c'est grâce a votre question que j'ai pu comprendre mon erreur.

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

Discussions similaires

  1. [AC-2003] Gestion des erreurs dans les sous-programmes
    Par azertix dans le forum VBA Access
    Réponses: 2
    Dernier message: 26/10/2010, 11h13
  2. [2D/3D] Erreur inconnue / non identifié avec Qt OpenGL sous MacOs X
    Par Petit_Nuage dans le forum Qt
    Réponses: 1
    Dernier message: 25/06/2010, 00h26
  3. Réponses: 8
    Dernier message: 21/05/2010, 16h17
  4. erreur inconnue sans lancer de programme
    Par christophe_halgand dans le forum MATLAB
    Réponses: 18
    Dernier message: 11/03/2009, 19h54
  5. erreur inconnue sous python
    Par toinoudu85 dans le forum Général Python
    Réponses: 4
    Dernier message: 17/12/2008, 22h07

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