Oracleフォーム(v6.0)を学習しようとしています。ボタンが押されたときのトリガーで、データブロックのすべてのレコードをループしようとしています。これまでのところ、次のコードがあります。
BEGIN
GO_BLOCK('MY_BLOCK');
FIRST_RECORD;
LOOP
MESSAGE(:MY_BLOCK.DSP_NAME);
EXIT WHEN :SYSTEM.LAST_RECORD = 'TRUE';
NEXT_RECORD;
END LOOP;
END;
コードを実行すると、最後の値を除くすべてのDSP_NAME値が表示されます。追加した場合:
MESSAGE(:MY_BLOCK.DSP_NAME);
ループの後、最後のレコードのDSP_NAME値が表示されます。なぜそのようなのですか?メッセージは最後のレコードチェックの前に表示されますか?そして、レコードをループする正しい方法は何でしょうか?