UPDATE avec jointure complexe
Bonjour,
Pour les besoins de mon application, je dois migrer une clé primaire composite (deux champs) vers une clé primaire unique (nouveau champs de type NUMBER).
Je dois en outre modifier les liaison entre les table et migrer la nouvelle clé su r celle-ci.
Pour cela j'aimerai utiliser une requête de type UPDATE TABLE avec SELECT et une jointure.
Code:
1 2 3 4 5 6 7 8
| UPDATE TBLCONSTRUCTION e
SET e.CLELIGNECOMMANDECLIENT = (SELECT s.cle
FROM TBLCONSTRUCTION e
INNER JOIN TBLCOMMANDE s
ON e.clecommande = s.clecommande
AND e.numeroligne = s.numeroligne
WHERE S.CLECOMMANDE = E.CLECOMMANDE
and S.NUMEROLIGNE = E.NUMEROLIGNE); |
Or cela ne marche pas car je n'arrive pas a générer une requête qui sortira uniquement la ligne désiré (ORA-01427 single-row subquery returns more than one row) . Suis-je obligé d’utiliser un curseur ?