我想使用plpgsql在for循环中设置一个循环查询,我将其编写为:
for ___ in value..value by 1 loop loop statement exit when ... end loop; end loop;
它在第二个“循环”周围返回了一个语法错误,这就是为什么我怀疑在for循环中包含这样一个循环的可行性。希望我说得够清楚了。
mrwjdhj31#
我认为在postgresql 11.10中的plgpgsql中执行嵌套循环没有问题:
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
643ylb082#
我看到的第一个问题是计数器在“value..value”范围内迭代看看这个代码,范围应该是2个不同的值。先试试这个。
do $$ begin for counter in 1..6 by 2 loop raise notice 'counter: %', counter; end loop; end; $$
2条答案
按热度按时间mrwjdhj31#
我认为在postgresql 11.10中的
plgpgsql
中执行嵌套循环没有问题:我看到预期输出:
643ylb082#
我看到的第一个问题是计数器在“value..value”范围内迭代
看看这个代码,范围应该是2个不同的值。先试试这个。