salut,

mon problème c'est que j'ai une fonction que je lui passe deux tableau comme paramètre, et avec c'est deux tableau je doit créer une matrice. Mais le problème c'est que je ne sais pas comment donner a ma matrice les dimension nécessaire pour que je puisse l'utiliser.
Il me donne a chaque fois une erreur d'indice en dehors de l'échelle.
voila le code qui me donne le probleme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
--vec1 et vec2 sont deux tableau que je passe en parametre de la fonction
for i IN REVERSE array_length(vec1, 1)..1 LOOP
		RAISE NOTICE 'i is %', i;
		for j IN REVERSE array_length(vec2, 1)..1 LOOP
			RAISE NOTICE 'j is %', j;
			matrice[i][j] := abs(vec1[i] - vec2[j]);
		end loop;
	end loop;
et pour les raise notice je les utilise pour debuguer et le resultat qui me donne et celui la

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
SELECT ma_fonction(
    array[1.0, 0.23, 0.7, 0.87],
    array[1.0, 0.23, 0.7]
);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
NOTICE:  i is 3
NOTICE:  j is 4
NOTICE:  j is 3
 
ERREUR:  indice du tableau en dehors de l'échelle
 
État SQL :2202E
et merci d'avance