postgresql for循环中的循环- Plpgsql

4zcjmb1e  于 2023-01-25  发布在  PostgreSQL
关注(0)|答案(2)|浏览(282)

我想使用plpgsql在for循环中设置一个循环查询,我将其编写为:

for ___ in value..value by 1 loop

  loop
    statement
    exit when ...
  end loop;

end loop;

它在第二个“循环”周围返回了一个语法错误,这就是为什么我怀疑在for循环中包含这样一个循环的可行性。
希望我说得够清楚了。

mrwjdhj3

mrwjdhj31#

我认为在postgresql 11.10中的plgpgsql中执行嵌套循环没有问题:

DO $$
DECLARE 
    i integer;
    j integer;
BEGIN
FOR i IN 1..2 LOOP
    FOR j IN 10..12 LOOP
    -- i will take on the values 1,2,3,4,5,6,7,8,9,10 within the loop
    RAISE NOTICE 'loop % %',i,j;
    END LOOP;
END LOOP;
END$$;

我看到预期输出:

loop 1 10
loop 1 11
loop 1 12
loop 2 10
loop 2 11
loop 2 12
643ylb08

643ylb082#

我看到的第一个问题是计数器在“value..value”范围内迭代
看看这个代码,范围应该是2个不同的值。先试试这个。

do $$
begin 
  for counter in 1..6 by 2 loop
    raise notice 'counter: %', counter;
  end loop;
end; $$

相关问题