Bonjour,
J'ai la problématique suivante sous Oracle :
J'ai une table T1(ID,CODE) qui ne contient pas le bon CODE.
Je veux donc mettre à jour ce code sachant que T1 n'est reliée à aucune autre table. Seule solution pour moi : créer une table temporaire.
TEMP(ID,CODE,NOUVEAU_CODE).
Ce que j'ai fait par la syntaxe suivante, mais mon problème c'est que ma table est vide bien que mon client TOAD me dise que les lignes sont bien insérées dans ma table temporaire :
Puis l'insert :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 CREATE GLOBAL TEMPORARY TABLE TEMP_AGR AS SELECT A.C_ID_AGREGATION AS ID, A.C_CLIENT AS ID_CLIENT, C.C_CLIENT AS C_CLIENT FROM AGREGATION_PNB A INNER JOIN CLIENT C ON C.C_ID_CLIENT = A.C_CLIENT
Par contre comment je fais pour l'update ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 INSERT INTO TEMP_AGR(ID, ID_CLIENT, C_CLIENT) SELECT A.C_ID_AGREGATION, A.C_CLIENT, C.C_CLIENT FROM AGREGATION_PNB A INNER JOIN CLIENT C ON C.C_ID_CLIENT = A.C_CLIENT
Ce que je veux c'est faire un update en masse et la requête suivante ne donne rien :
Merci pour toute info.
Code : Sélectionner tout - Visualiser dans une fenêtre à part UPDATE AGREGATION_PNB SET C_CLIENT = (SELECT TEMP_AGR.C_CLIENT FROM TEMP_AGR, AGREGATION_PNB A WHERE TEMP_AGR.ID = A.C_ID_AGREGATION)
Partager