DYNAMIC_TABLES関数: 返される最大行数の新しいデフォルト値¶
DYNAMIC_TABLES 関数は次のように動作します。
- 変更前:
デフォルトでは、RESULT_LIMITが指定されない場合、関数はすべての行をソートされていない順序で返します。例えば、アカウントに10,000の動的テーブルがある場合、関数は10,000行を返します。
- 変更後:
デフォルトでは、この関数は100行を返し、RESULT_LIMIT引数で特に指定していない限り、結果は動的テーブルの最後に完了した更新状態順に以下の通りソートされます。
FAILED
UPSTREAM_FAILED
SKIPPED
SUCCEEDED
CANCELED
別の順序でソートするには、RESULT_LIMITの値(例、署名された整数の最大値)を十分に大きな値で指定する必要があります。RESULT_LIMITがアカウント内の動的テーブルの総数を超えている限り、ORDER BY句を使用して結果を並べ替えることができます。
結果にフィルターを適用するには、すべての動的テーブルにフィルターが適用されるように、ここでもRESULT_LIMITの値に十分に大きな値を指定してください。
例:
次の例は、
name
の異なる順序でソートし、100行を返します。SELECT * FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLES(result_limit => <max_value>)) ORDER BY name ASC LIMIT 100 ;
次の例は、
name
の異なる順序でソートし、すべての行を返します。SELECT * FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLES(result_limit => <max_value>)) ORDER BY name ASC ;
以下の例では、ターゲットラグが1分のすべての動的テーブルをフィルターし、デフォルトのソートを使用し、すべての行を返します。
SELECT * FROM TABLE(INFORMATION_SCHEMA.DYNAMIC_TABLES(result_limit => <max_value>)) WHERE TARGET_LAG_SEC = 60 ;
Ref: 1928