Bonjour
Système : Oracle 9.2
Contexte :Insertion de plus de 100 millions de ligne.
Problème : J'insert dans des tables des millions de ligne et je fait un commit à la fin de ma procédure.
Le probléme et que je test sur un serveur de dev avec quelques millions de ligne sur la table, donc pour l'instant cela fonctionne.
Mais comment fait on pour faire un commit intermédiare (tous les 3 millions de ligne).
Sans trop perdre de performance.
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 BEGIN sql_str := 'INSERT INTO DATAMART_NMD.'|| pTable || ' select * from DATAMAJ_NMD.' || pTablecopie || ' where DATMAJDMT > ADD_MONTHS(sysdate,' || pMonth || ')'; EXECUTE IMMEDIATE sql_str; EXCEPTION WHEN OTHERS THEN -- On renvoie un code d'erreur code_erreur:='99'; --RAISE; COMMIT;
Partager