これを書けば
DECLARE res INTEGER;
DECLARE loop_res INTEGER;
BEGIN
SELECT 0 INTO loop_res;
FOR i IN 1..5 LOOP
SELECT loop_res + i INTO loop_res;
END LOOP;
SELECT
case
WHEN some_variable < 3
THEN --some result
WHEN some_variable >= 3
THEN loop_res
END
INTO res;
これは機能しますが、ここではとにかく LOOP ステートメントを実行しますよね?
場合にのみ、LOOP ステートメントを実行することが可能WHEN some_variable >= 3
です。
やっています :
SELECT
case
WHEN some_variable < 3
THEN --some result
WHEN some_variable >= 3
THEN
FOR i IN 1..5 LOOP
SELECT loop_res + i INTO loop_res;
END LOOP;
loop_res
END
INTO res;
エラーを与えるsyntax error at or near "FOR" at character ...