Voila j'utilise une fonction Postgresql pour écrire dans une table et quand je la lance le serveur ne réponds plus.
Le but étant à partir des données d'une table écrire dans une autre table, le but final étant d'obtenir une liste permutée pour un thesaurus
pour l'éxcuter je fais :
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
23
24
25 create function gen_liste_permut() return void as' declare colval record; tmpg text; tmpd text; tmp text; pos integer; begin for colval in select descripteur,id_terme from terme limit 10 loop tmp:=colval.descripteur; while tmp != '' loop pos:=position(' ' in tmp); if pos>0 then tmpg:=substring(tmp,1,position(' ' in tmp)); tmpd:=substring(tmp,position(' ' in tmp)+1,length(tmp)); insert into liste_permut (id_terme,cold,colg) values (colval.id_terme,tmpd,tmpg); else insert into liste_permut (id_terme,cold,colg) values (colval.id_terme,tmp,''); tmp:=''; end if; end loop; end loop; return 1; end; ' LANGUAGE plpgsql;
j'ai tester avec d'autres fonction plus légères écrivant dans la table ca marche très bien, alors pensez vous que le plantage vienne de la lourdeur de celle-ci
Code : Sélectionner tout - Visualiser dans une fenêtre à part select gen_liste_permut()
merci de votre aide
Partager