Les structures itératives et répétitives
Les boucles permettent d'exécuter des instructions plusieurs fois. On
Structure itérative WHILE
(TANT QUE)
do
$$
declare
n integer = 9;
k integer;
begin
raise notice 'Table de multiplication de %', n;
k = 1;
loop
raise notice '% * % = %', k, n, k*n;
k = k + 1;
exit when k > 5;
end loop;
end;
$$ language plpgsql;
Structure répétitive FOR
(POUR)
do
$$
declare
_query = text;
begin
for k in 1..10 loop
raise notice '%', k;
_query = 'perform random_function(now()::date - ' || k || ');';
execute _query;
end loop;
end;
$$;
Itérer sur une table
PL/PLSQL permet également d'itérer sur les enregistrements d'une requête
do
$$
declare
item record;
begin
for item in select a from (values (1), (2), (3)) s(a) loop
raise info '%', item.a;
end loop;
end;
$$;
.