標準 SQL のデバッグ ステートメント

ASSERT

ASSERT expression [AS description]

説明

expression を評価します。

expressionTRUE と評価された場合、ステートメントは正常に終了し、結果は返されません。

expressionFALSE または NULL と評価された場合は、このステートメントによりエラーが出力されます。AS description が存在する場合、description がエラー メッセージに表示されます。

expressionBOOL に評価される必要があります。

descriptionSTRING リテラルの必要があります。

ASSERT ステートメントは、ASSERT ステートメントの結果がキャッシュに保存されない点を除き、SELECT expression クエリと同じ方法で課金されます。

次の例では、データソースが 5 行を超えるというアサートを行います。ステートメントは正常終了します。

ASSERT
(SELECT COUNT(*) FROM UNNEST([1, 2, 3, 4, 5, 6])) > 5
AS 'Table must contain more than 5 rows.';

次の例では、ソーステーブルに特定の値が含まれているというアサートを行います。

ASSERT EXISTS(
  SELECT X
  FROM UNNEST([7877, 7879, 7883, 7901, 7907]) X
  WHERE X = 7919
) AS 'Column X must contain the value 7919';

このステートメントでは、次のエラーが出力されます。

Assertion failed: Column X must contain the value 7919