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.
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 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);
Partager