Bonjour à tous,

J'ai besoins de faire un update sur la colonne d'une table suivant une année pour insérer un nombre qui doit respecter une suite logique (n+1)

J'étais parti sur ceci :

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
CREATE OR REPLACE FUNCTION num(_p1 integer, _p2 integer) RETURNS void AS $func$
DECLARE
    mon_cursor CURSOR IS
    SELECT * FROM  table1 JOIN table2 USING (colA) 
    WHERE table2.colB = _p1 AND table2.colC = _p2;
    iterator INTEGER := 0;
BEGIN
  FOR C IN mon_cursor
  LOOP
    iterator :=iterator +1;
    UPDATE table1 SET colD = iterator 
    WHERE table1.colD = 0;
  END LOOP;
END;
$func$ LANGUAGE plpgsql;
Mon problème étant que ma variable iterator ne s'incrémente pas (colD toujours = 1) et que je ne comprends pas pourquoi. (J'ai essayé d'autre solution mais le problème reste identique).