Bonjour
J'ai besoin d'optimiser un update en PL/SQL.
J'ai deux tables TABLE1 et TABLE2 qui possède la meme structure qui est la suivante : CLE, CHAMP1 et CHAMP2
Le but de de mettre à jour la table TABLE1 avec la table TABLE2 en fonction du champ CLE.
Voici la requete qui fonctionne
Le problème est qu'elle est lente, surement à cause des multiples select.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 update TABLE1 a set a.CHAMP1 = (select CHAMP1 from TABLE2 where CLE = a.CLE), a.CHAMP2 = (select CHAMP2 from TABLE2 where CLE = a.CLE) where (a.CLE in (select CLE from TABLE2);
Je me rappelle d'une facon de coder cela en TRANSAC-SQL et qui serait surement plus rapide, mais qui ne marche pas en PL/SQL :
Serait-il possible de faire un update similaire en PL/SQL
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 update TABLE1 set a.CHAMP1 = b.CHAMP1, a.CHAMP2 = b.CHAMP2 from TABLE1 a, TABLE2 b where (a.CLE = b.CLE)
Merci pour vos réponses
Fox
Partager