FNC_GetPhaseExの使用例 - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL外部ルーチン プログラミング

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/rin1593638965306.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1147
Product Category
Software
Teradata Vantage
FNC_GetPhaseExオプションを使用すると、次のような状況で、テーブルのフェーズ遷移の回数を減らしてテーブル関数のパフォーマンスを向上できます。
  • 1:1 (1行入力:1行出力)処理モードでは、TBL_NEWROWオプションを使用して、TBL_BUILD呼び出しごとに新しい行を取得します。
    FNC_Mode mode = FNC_GetPhaseEx(&thePhase, TBL_NEWROW);
  • 1:M (1行入力: 複数行出力)処理モードでは、TBL_NEWROWEOFオプションを使用して、EOFの合図が送られたときに新しい行を取得します。
    FNC_Mode mode = FNC_GetPhaseEx(&thePhase, TBL_NEWROWEOF);
  • M:1 (複数行入力: 1行出力)処理モードは、次のように使用します。
    FNC_Mode mode = FNC_GetPhaseEx(&thePhase, TBL_LASTROW | TBL_NEWROW);

    M:1と1:Mを組み合わせた処理モードは、次のように使用します。これは、EOFまで新しい行を渡しません。

    FNC_Mode mode = FNC_GetPhaseEx(&thePhase, TBL_LASTROW | TBL_NEWROWEOF);