sql problème
Posté : 31 oct. 2015, 12:51
Bonjour,
J'ai un problème avec un sous programme sql
CREATE OR REPLACE FUNCTION CoutLigneCommande(numcom number,npizza number,ntaille number) return number AS
qtite ligne_cmd.quantite%TYPE;
reduc ligne_cmd.remise%TYPE;
montant tarif.prix%TYPE;
cout number;
BEGIN
select quantite,remise into qtite,reduc
from ligne_cmd
where numcom=ligne_cmd.numc and npizza=ligne_cmd.pizza and ntaille=ligne_cmd.taille;
select prix into montant
from tarif
where tarif.numpiz=npizza and ntaille=tarif.taille;
cout:=montant*qtite*(1-reduc/100);
return cout;
end CoutLigneCommande;
/
CREATE OR REPLACE FUNCTION CoutCommande(numerocom number) return number as
begin
for lig_curs in (select numc,pizza,taille from ligne_cmd where ligne_cmd.numc=numerocom)loop
return CoutLigneCommande(lig_curs.numc,lig_curs.pizza,lig_curs.taille);
end loop;
end CoutCommande;
/
et en faite ça ne fonctionne pas j'aimerais sommer les lignes pour lesquels le numéro de commande est identique.
et quelqu'un sait comment on fait?
J'ai un problème avec un sous programme sql
CREATE OR REPLACE FUNCTION CoutLigneCommande(numcom number,npizza number,ntaille number) return number AS
qtite ligne_cmd.quantite%TYPE;
reduc ligne_cmd.remise%TYPE;
montant tarif.prix%TYPE;
cout number;
BEGIN
select quantite,remise into qtite,reduc
from ligne_cmd
where numcom=ligne_cmd.numc and npizza=ligne_cmd.pizza and ntaille=ligne_cmd.taille;
select prix into montant
from tarif
where tarif.numpiz=npizza and ntaille=tarif.taille;
cout:=montant*qtite*(1-reduc/100);
return cout;
end CoutLigneCommande;
/
CREATE OR REPLACE FUNCTION CoutCommande(numerocom number) return number as
begin
for lig_curs in (select numc,pizza,taille from ligne_cmd where ligne_cmd.numc=numerocom)loop
return CoutLigneCommande(lig_curs.numc,lig_curs.pizza,lig_curs.taille);
end loop;
end CoutCommande;
/
et en faite ça ne fonctionne pas j'aimerais sommer les lignes pour lesquels le numéro de commande est identique.
et quelqu'un sait comment on fait?