Bonjour,
Je dois restaurer une table à partir d'une sauvegarde, mais ma requête n'est pas franchement optimisée,
je crois qu'elle le fait sur toute la table
la clef primaire est basée sur id_question et id_codeuai.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Id_question | id_codeuai | reponse_N | reponse_N1 .... 1 25001 10 11 2 25001 11 0 3 27002 12 3
J'ai fais la requête suivante
REPONSES est la tables d'origine et REPONSES_SAUV la sauvegarde.
Je voudrais simplement mettre à jour la question dont l(ID est 56 par exemple)
Mais je ne sais pas ou mettre la clause WHERE car si je fais
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 MERGE INTO REPONSES U1 USING (SELECT * FROM REPONSES_SAUV) U2 ON (U1.ID_QUESTION = U2.ID_QUESTION AND U1.CODE_UAI = U1.CODE_UAI) WHEN MATCHED THEN UPDATE SET U1.REPONSE_N = U2.REPONSE_N, U1.REPONSE_N1 = U2.REPONSE_N1, U1.REPONSE_N2 = U2.REPONSE_N2 , U1.REPONSE_N3 = U2.REPONSE_N3;
J'ai la réponse
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 MERGE INTO REPONSES U1 USING (SELECT * FROM REPONSES_SAUV WHERE ID_QUESTION=56) U2 ON (U1.ID_QUESTION = U2.ID_QUESTION AND U1.CODE_UAI = U1.CODE_UAI) WHEN MATCHED THEN UPDATE SET U1.REPONSE_N = U2.REPONSE_N, U1.REPONSE_N1 = U2.REPONSE_N1, U1.REPONSE_N2 = U2.REPONSE_N2 , U1.REPONSE_N3 = U2.REPONSE_N3;
Si vous avez une idée ... j'y retourne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 ORA-30926 : Impossible d'obtenir un ensemble de lignes stables dans les tables sources ....
Partager