Bonjour à tous,

Cela doit être simple mais je n'arrive pas à adapter un update par rapport à un select que j'ai produit,
je doit mettre à jour un champ dans lequel il y a la valeur "ECO" par 'null' selon les conditions de mon select.

Avec le select, j'ai les résultats que j'attends mais lorsque j'essaie de faire un update j'ai le message d'erreur : "Erreur SQL : ORA-00913: trop de valeurs
00913. 00000 - "too many values"

voici mon select :
Code sql : 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
20
 
select distinct
p.GP_REFINTERNE,
p.gp_depot,
p.GP_NUMERO,
p.GP_NATUREPIECEG
from piece p,
(select distinct
GP_REFINTERNE,
MEJ_CDEECOMSUIVI
from MPIECEECO,
PIECE
where MEJ_NATUREPIECEG = GP_NATUREPIECEG 
AND MEJ_SOUCHE=GP_SOUCHE 
AND MEJ_NUMERO=GP_NUMERO 
and MEJ_CDEECOMSUIVI = '013'
and GP_NATUREPIECEG = 'CC') d
where  p.GP_REFINTERNE=d.GP_REFINTERNE
and p.GP_NATUREPIECEG in ( 'RDI')
AND p.GP_TYPEPROVENANCE = 'ECO'

et voici mon update :

Code sql : 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
20
21
22
23
update piece
set GP_TYPEPROVENANCE = 'null'
WHERE GP_REFINTERNE in (
select distinct
p.GP_REFINTERNE,
p.gp_depot,
p.GP_NUMERO,
p.GP_NATUREPIECEG
from piece p,
(select distinct
GP_REFINTERNE,
MEJ_CDEECOMSUIVI
from MPIECEECO,
PIECE
where MEJ_NATUREPIECEG = GP_NATUREPIECEG 
AND MEJ_SOUCHE=GP_SOUCHE 
AND MEJ_NUMERO=GP_NUMERO 
and MEJ_CDEECOMSUIVI = '013'
and GP_NATUREPIECEG = 'CC') d
where  p.GP_REFINTERNE=d.GP_REFINTERNE
and p.GP_NATUREPIECEG in ( 'RDI')
AND p.GP_TYPEPROVENANCE = 'ECO' 
)

svp si quelqu'un peut m’éclairer

Merci d'avance