[pgsql-jp: 41047] PL/pgSQL中のループ内での変数更新
xrstt070 @ yahoo.co.jp
xrstt070 @ yahoo.co.jp
2012年 2月 9日 (木) 15:46:45 JST
いつもお世話になっております。
以下のPL/pgSQLを実行した場合の動作について
質問があります。
CREATE OR REPLACE FUNCTION test() RETURNS INTEGER AS $$
DECLARE
iCnt INTEGER;
BEGIN
FOR iCnt IN REVERSE 3 .. 1 LOOP
RAISE NOTICE '%', iCnt;
iCnt := 0;
END LOOP;
RETURN 0;
END;
$$ LANGUAGE 'plpgsql';
このファンクションを実行した場合、
3だけが表示され終了することを想定していましたが、
3,2,1と表示され終了しました。
これは正常な動作なのでしょうか?
CentOS、DBのバージョンは8.3.5です。
ちなみに8.2.4では3だけが表示され終了しました。
よろしくお願いします。
pgsql-jp メーリングリストの案内