Bonjour

j'ai crée une fonction oracle pour une somme des quantités des commandes, si j'ai une seule commande ça passe sinon j'ai un message d'erreur :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
select A_QTECDE ((select num_cde from cde_cli_lign where num_cde like '0008%'),1) from dual
ORA-01427: single-row subquery returns more than one row
Voila la function:

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
CREATE OR REPLACE FUNCTION CREATOR.A_QTECDE01 (
    VNUM_CDE  IN VARCHAR2,
    VNUM_LIGN IN BINARY_INTEGER
)
  RETURN BINARY_INTEGER
AS
qte          BINARY_INTEGER;
 
begin
 
Select sum (NVL(QTE_T1, 0) + NVL(QTE_T2, 0) + NVL(QTE_T3, 0)) into qte
 
from CDE_CLI_LIGN  
 
where num_cde in vnum_cde and num_lign=vnum_lign ;
 
return qte;
 
end A_qtecde01;

Besoin de votre aide

Merci