Bonjour,
Je débute sous Oracle et j'ai voudrais faire un UPDATE sur une table mais sur plusieurs champs et plusieurs enregistrements.
La MAJ de ces enregistrements sont fonction d'un SELECT et donc peuvent changer pour chaque enregistrements.
J'ai fais le SELECT, il fonctionne bien, j'ai fais l'update, il fonction lorsque mon select me ramène qu'un seul enregistrement, mais dès que le select est multi lignes, j'ai le message d'erreur suivant:
ORA-01427: single-row subquery returns more than one row
Je ne comprends pas trop, on dirait que l'update fonctionne que pour mettre à jour la même infos dans tous les enregistrements de la table...
Auparavant, je travaillais sous ACCESS et cela était possible! Je pense qu'il doit y avoir une manip particulière que j'ignore...
Pour info, mon update est du format:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 update matable1 set (champ1, champ2, champ3) = (select champ4, champ5, Champ6 from matable1, matable2 where condition) where condition
Partager