0

私は 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 ローカル ウィンドウの [値]セルで長い値が折り返される構成設定はありますか?

ありがとうございました

4

1 に答える 1