Fonction pl/sql

Fermé
JSlim - Modifié par JSlim le 6/08/2016 à 12:23
jee pee Messages postés 40942 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 18 mars 2025 - 7 août 2016 à 10:00
Bonjour,

j'ai l'enoncé suivant :


Ecrire une fonction Calcul_Mtt_Commande avec comme paramètre en entrée le numéro de la Commande et qui Retourne le montant total de la commande.


avec les tables suivant :

CLIENT(numcl, nomcl,adr,tel) ;
ARTICLE(numart,des_art,pu,qte_stock)
COMMANDE(nc,numcl,datecde)
LIGNE_COMMANDE(nc,numart,qtecom)


et j'ai fais la solution suivante que je veux savoir si elle est correcte :

CREATE OR REPLACE FUNCTION MT_COMMANDE (NUMCOM NUMBER) RETURN NUMBER IS
W_MT NUMBER:=0;
BEGIN SELECT SUM((PU *QTE) INTO MT
FROM LIGNE_COMMANDE LC, ARTICLE A
WHERE NUM_COMMANDE=NUMCOM
AND LC.NUMART=A.NUMART;
RETURN W_MT; END;




2 réponses

personne pour m'aider ?
0
jee pee Messages postés 40942 Date d'inscription mercredi 2 mai 2007 Statut Modérateur Dernière intervention 18 mars 2025 9 564
Modifié par jee pee le 7/08/2016 à 10:03
Salut,

La meilleure méthode c'est toujours l'expérimentation, le test. Donc essaie ta procédure. En la créant tu auras un contrôle de syntaxe et en l'exécutant tu auras un contrôle de logique.

Je ne suis pas spécialiste de ce type de code, mais je ne comprends pas comment la somme MT va initialiser le champ retourné W_MT ??

PU *QTE
le champ QTE n'existe pas
NUM_COMMANDE=NUMCOM
le champ NUM_COMMANDE n'existe pas

cdlt

        un étranger, c'est un ami qu'on n'a pas encore rencontré.
0