Incrémentation variable fonction update
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:
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).