Bonjour,
Voici ma procédure :
Cette procédure fonctionne sur les petites base mais la, j'ai 52 000 000 de champ. c'est la misère ...
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
16
17
18
19
20
21
22 CREATE PROCEDURE enrichi_session_instance(_count integer, _max_i integer, _max_s integer) LANGUAGE plpgsql AS $$ BEGIN _max_i = _max_i + 1; FOR counter in 1.._count LOOP UPDATE table1 SET i_node = ( SELECT i_node FROM table2 WHERE i_node = _max_i + counter ), s_node = ( SELECT s_node FROM table3 WHERE s_node = _max_s + counter ); END LOOP; END $$;
Explication :
j'essaye de faire du bourrage de ma base pour grossir les tables.
j'ai fait grossir les 2 tables "table2 & table3" par une autre procédure puis je remplie la table1 avec les valeurs nouvellement créer.
_count , donne le nombre d'ajout à réaliser.
_max_i , donne le dernier élément de la table2 avant l'ajout des nouvelle ligne par la procédure précédente.
_max_s , donne le dernier élément de la table3 avant l'ajout des nouvelle ligne par la procédure précédente.
merci d'avance pour votre aide.
Partager