Bonjour monsieur,
Pour l'exercice sur les fonctions,je trouve une errreur lors de l'execution de la requete sql.
Voici le code de la fonction:
create or replace FUNCTION montant(code number) return number is c number;begin
select count(f.codform)*avg(prix) into c
from formation f left join inscription i on f.codform=i.codform and f.codform=code
group by f.codform;
return c;
Exception when no_data_found then return(-1);
end;
Voici le code de la requete:
select descfrom,montant(codform) from formation ;
Voici le l'erreur obtenue:
ORA-01422: l'extraction exacte ramène plus que le nombre de lignes demandé
ORA-06512: à "SYS.MONTANT", ligne 4
01422. 00000 - "exact fetch returns more than requested number of rows"
*Cause: The number specified in exact fetch is less than the rows returned.
*Action: Rewrite the query or change number of rows requested
create or replace FUNCTION montant(code number) return number is c number;
begin
select count(f.codform)*avg(prix) into c
select count(f.codform)* prix into c
from formation f left join inscription i on f.codform=i.codform and f.codform=code
from formation f join inscription i on f.codform=i.codform and f.codform=code
group by f.codform;
return c;
Exception
when no_data_found then return(-1);
end;