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 :
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 |
Puis l'insert :
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 |
Par contre comment je fais pour l'update ?
Ce que je veux c'est faire un update en masse et la requête suivante ne donne rien :
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)
Merci pour toute info.
Partager