Bonjour,

J'ai une question a propos de la requete de type update, je souhaite mettre à jour une table via un sous SELECT, cependant dans certains cas le SELECT me retourne plusieurs lignes ce qui créée une erreur SQL lors de la mise à jour. J'ai essayé la technique du rownum comme indiqué dans la FAQ mais dans ce cas, la sous - sous requête ne voit plus la table à mettre à jour :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
      UPDATE tb_eval SET reponse = (
                                              SELECT reponse 
                                              FROM tb_repondu
                                              WHERE tb_repondu.questionnaire = tb_eval.questionnaire
                                              AND ...
                                              );
Erreur Multiple rows


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
      UPDATE tb_eval SET reponse = (
                                               SELECT reponse FROM 
                                               (
                                                        SELECT *
                                                        FROM tb_repondu
                                                        WHERE tb_repondu.questionnaire = tb_eval.questionnaire
                                                        AND ...
                                                        ORDER BY date DESC
                                              )    WHERE rownum < 2   );
tb_eval plus reconnue dans la sous sous requete !

Il y a t'il une parade ?

Merci