私は pgAdmin デバッガーを理解しようとしていますが、PostgreSQL にはかなり慣れていません。表示されている動作が私の間違いによるものなのか、単にデバッガーの制限によるものなのかはわかりません。
関数の先頭で、次の 2 つの変数を宣言しました。
declare tuple record;
declare buffer text;
私の関数の本体では、一時テーブル TT_CALENDAR の行を反復しようとしているので、[ローカル] ウィンドウで一時テーブルの内容を調べることができます。
for tuple in
select startdate, enddate from TT_CALENDAR
loop
buffer := concat(buffer, tuple.startdate::text, tuple.enddate::text,'|');
end loop;
buffer :='';
ブレークポイントがbuffer := concat(...
その行に設定されbuffer :='';
、プログラムの実行は期待どおりそこで停止しますが、ループを終了して文字列値に到達するとすぐにbuffer :='';
、[ローカル] ウィンドウから消えます。
が実行される前 にループを終了すると、バッファの表示値が [ローカル] ウィンドウから消えるのはなぜですか? buffer :='';
変数が範囲外になったかのようです。
PS ローカル ウィンドウの [値]セルで長い値が折り返される構成設定はありますか?
ありがとうございました