Fonction pl/sql

JSlim -  
jee pee Messages postés 9439 Date d'inscription   Statut Modérateur Dernière intervention   -
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

  1. jee pee Messages postés 9439 Date d'inscription   Statut Modérateur Dernière intervention   9 977
     
    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