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 d'appel de procédure


Sujet :

PL/SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé

    Inscrit en
    Janvier 2005
    Messages
    532
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 532
    Par défaut problème d'appel de procédure
    salut,
    je suis un débutant en pl/sql, j'ai une procédure qui s'appelle ajout commandes avec 3 params, que je dois applé, mais lors de l'appel le message d'erreur m'affiche qu'il y'a une erreur dans la 1ère ligne et la ligne d'où j'appel ma procédure, je souhaite votre aide, 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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    CREATE or replace procedure Ajout_Commande(Nom_client in Commandes.Nomc%TYPE,     /* Nom_client  est définit comme étant  un attribut de la colonne  Nomc de la table Commandes */
                                               Nom_produit in Commandes.NomP%TYPE,    /* Nom_produit est définit comme étant un attribut  de la colonne Nomp de la table commandes */
                                               Quantite in Commandes.Qte%TYPE)        /*Quantite est définit comme etant un attricut de la colonne Qte de la table commandes */
    is
    Total real;
    le_Prix Prix.Cout%TYPE;/*le prix est définit comme étant une variable de la colonne  Cout de la table Prix*/
    Taxe real;
    Total_ttc real;
    Solde_anc Clients.Solde%TYPE;/* sold_anc est définit comme étant une variable de la colonne Solde de la table client */
    Solde Clients.Solde%TYPE;    /*Solde est définit comme étant une variable de la table clients  */
    begin
     
    select Cout into le_Prix from Prix where Prix.Nomp=Nom_produit;
    select Solde into Solde_anc from Clients where Clients.Nomc=Nom_client;
    /*faire une mis à jours sur le solde du client*/
    Total:= le_Prix* Quantite;
    Taxe:= Total*0.17;
    Total_ttc:=Total+Taxe; 
    Solde:=Solde_anc+Total_ttc ;
    insert into Commandes values(ma_seq_Ncom.nextval, Nom_client, Nom_produit, Quantite);/*insérer la nouvelle commande dans la table commandes*/
    update Clients set Solde=Solde_anc where Nomc=Nom_client;/*mettre à jour le Solde du client*/
     
    end;
    /
     
    /* appel procedure*/
    declare        /*ici l'erreur*/
    Nomc1 in Commandes.Nomc%TYPE;
    Nomp1 in Commandes.NomP%TYPE;
    Qte1 in Commandes.Qte%TYPE;
    begin
    nomc1:='pierre';
    nomp1:='clavier';
    qte1:=5;
     Ajout_Commande(nomc1,nomp1,qte1); /*et ici erreur*/
    end;
    /
    Merci

  2. #2
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Une déclaration de variable dans la sectipn DECLARE n'utilise pas le mot clé IN
    Faites-ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Nomc1 Commandes.Nomc%TYPE;

  3. #3
    Membre éclairé

    Inscrit en
    Janvier 2005
    Messages
    532
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 532
    Par défaut problème d'appel de procédure
    merci pour la réponse,
    j'mal ortographier le code, le IN n'est pas dans le code et le problème percisste.
    Merci

  4. #4
    Membre éclairé

    Inscrit en
    Janvier 2005
    Messages
    532
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 532
    Par défaut problème d'appel de procédure
    Citation Envoyé par hocine Voir le message
    merci pour la réponse,
    j'mal ortographier le code, le IN n'est pas dans le code et le problème percisste.
    sinon, je souhaiterai savoir si la syntaxe est bonne.
    Merci

  5. #5
    Expert confirmé
    Avatar de SheikYerbouti
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    6 760
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 6 760
    Par défaut
    Si le code que vous postez n'est pas celui réellement utilisé, çela risque de prendre un temps fou à vous aider.... Nous ne sommes pas devin, vous savez?

  6. #6
    Membre éclairé

    Inscrit en
    Janvier 2005
    Messages
    532
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 532
    Par défaut
    salut,
    je m'excuse, 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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    CREATE OR REPLACE procedure Ajout_Commande(Nom_client IN Commandes.Nomc%TYPE,     /* Nom_client  est définit comme étant  un attribut de la colonne  Nomc de la table Commandes */
                                               Nom_produit IN Commandes.NomP%TYPE,    /* Nom_produit est définit comme étant un attribut  de la colonne Nomp de la table commandes */
                                               Quantite IN Commandes.Qte%TYPE)        /*Quantite est définit comme etant un attricut de la colonne Qte de la table commandes */
    IS
    Total real;
    le_Prix Prix.Cout%TYPE;/*le prix est définit comme étant une variable de la colonne  Cout de la table Prix*/
    Taxe real;
    Total_ttc real;
    Solde_anc Clients.Solde%TYPE;/* sold_anc est définit comme étant une variable de la colonne Solde de la table client */
    Solde Clients.Solde%TYPE;    /*Solde est définit comme étant une variable de la table clients  */
    begin
     
    SELECT Cout INTO le_Prix FROM Prix WHERE Prix.Nomp=Nom_produit;
    SELECT Solde INTO Solde_anc FROM Clients WHERE Clients.Nomc=Nom_client;
    /*faire une mis à jours sur le solde du client*/
    Total:= le_Prix* Quantite;
    Taxe:= Total*0.17;
    Total_ttc:=Total+Taxe; 
    Solde:=Solde_anc+Total_ttc ;
    INSERT INTO Commandes VALUES(ma_seq_Ncom.NEXTVAL, Nom_client, Nom_produit, Quantite);/*insérer la nouvelle commande dans la table commandes*/
    UPDATE Clients SET Solde=Solde_anc WHERE Nomc=Nom_client;/*mettre à jour le Solde du client*/
     
    end;
    /
     
    /* appel procedure*/
    declare        /*ici l'erreur*/
    Nomc1 Commandes.Nomc%TYPE;
    Nomp1 Commandes.NomP%TYPE;
    Qte1  Commandes.Qte%TYPE;
    begin
    nomc1:='pierre';
    nomp1:='clavier';
    qte1:=5;
     Ajout_Commande(nomc1,nomp1,qte1); /*et ici erreur*/
    end;
    /
    je souhaiterai savoir si ce code, du côté de la syntaxe est juste ou non.
    et je m'excuse une 2 ème fois.
    MERCI.

Discussions similaires

  1. Probléme sur appel de procédures différentes
    Par tom_plaquiste dans le forum Visual Studio
    Réponses: 1
    Dernier message: 08/12/2013, 22h52
  2. Réponses: 4
    Dernier message: 28/09/2009, 10h07
  3. Réponses: 1
    Dernier message: 10/10/2008, 10h50
  4. Problème à l'appel de procédure
    Par yomgdf dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 10/06/2008, 14h51
  5. Problème d'appel à une procédure stockée
    Par champijulie dans le forum VBA Access
    Réponses: 1
    Dernier message: 17/09/2007, 12h17

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