Bonjour,

Dans ma base j'ai deux table

La table 1 contient un idCLient ainsi qu'un idVille
La table 2 contient différent données ainsi que mon idClient et mon idVille

Je voudrais créer une fonction qui va prendre pour chaque idCLient de ma table 1 == à l'idCLient de ma table 2 Mettre à jour l'idVille de la table2 par rapport a l'idVille de la table 1

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
CREATE OR REPLACE FUNCTION MAJTable()
RETURNS void AS
$BODY$declare
	at record;
	client int;
	ville int;
	begin
		FOR at IN ((SELECT  @client=idClient 
		FROM  table1))
		LOOP
			SELECT @ville=t2.idVille
			FROM  table1 t1,table2 t2
			WHERE t1.idCLient = t2.idClient
			AND t2.idClient = @client;
			UPDATE tableVille set id_Ville = @ville;
		END LOOP;
		RETURN;
	end;
$BODY$
LANGUAGE 'plpgsql' VOLATILE
COST 100;
Mais sa m'efface ma colonne idVille de ma table tableVille