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

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;
pour l'éxcuter je fais :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
select gen_liste_permut()
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

merci de votre aide