テーブル関数はまず最初にFNC_GetPhaseExを呼び出します。
FNC_GetPhaseExは、定数引数で渡されるテーブル関数(FNC_GetPhaseExの戻りがTBL_MODE_CONST)でも正常に使用できますが、可変引数で渡されるテーブル関数(FNC_GetPhaseExの戻り値がTBL_MODE_VARY)に対して最も有効です。
FNC_GetPhaseExが提供する機能は、テーブル関数への入力を整列させるHASH BYおよびLOCAL ORDER BY句を補完します。テーブル関数への入力引数を整列させる方法の例は、テーブルUDFに対する入力引数の整列を参照してください
FNC_GetPhaseExを使用すると、テーブルのフェーズ遷移をテーブル関数の作成時により細かく制御できるようになります。テーブル関数の実行時に必要なフェーズの遷移の数を減らすことで、UDF呼び出しの回数が少なくなり、テーブル関数のパフォーマンスを向上することになります。