- カテゴリ:
VALIDATE¶
COPY INTO <テーブル> コマンドの過去の実行でロードされたファイルを検証し、最初のエラーだけでなくロード中に発生したすべてのエラーを返します。
構文¶
VALIDATE( [<namespace>.]<table_name> , JOB_ID => { '<query_id>' | '_last' } )
引数¶
[namespace.]table_nameロードのターゲットになっていたテーブルの完全修飾名を指定します。
名前空間は、
database_name.schema_nameまたはschema_nameの形式の、テーブルが存在するデータベースおよび/またはスキーマです。ユーザーセッション内でデータベースとスキーマが現在使用されている場合は オプション です。それ以外の場合は必須です。JOB_ID => query_id | _last検証する COPY INTO <テーブル> コマンドの ID です。
The ID can be obtained from the Query ID column in the Query History page in Snowsight. The specified query ID must have been for the specified target table.
query_idの代わりに_lastが指定されている場合、指定されたターゲットテーブルに関係なく、関数は現在のセッション中に実行された最後のロードを検証します。
使用上の注意¶
検証は、
ON_ERROR = ABORT_STATEMENT(デフォルト値)を指定する COPY ステートメントに対して結果を返しません。次の場合、検証は失敗します。
SELECT ステートメントは、 COPY INTO <テーブル> の操作中にデータを変換するために使用されます。
現在のユーザーは
table_nameにはアクセスできません。現在のユーザーは
query_idを実行したユーザーではなく、このユーザーに対するアクセス制御権限がありません。コピー履歴メタデータの有効期限が切れました。詳細については、 メタデータのロード をご参照ください。
ロードが実行されてから
query_idが使用するステージに新しいファイルが追加されている場合、追加された新しいファイルは検証中に無視されます。ロードが実行されてからファイルが
query_idによって使用されるステージから削除された場合、削除されたファイルは見つからないと報告されます。
例¶
最後に実行された COPY コマンドのエラーを返します.
SELECT * FROM TABLE(VALIDATE(t1, JOB_ID => '_last'));
Return errors by specifying a query ID obtained from the Query History page in Snowsight or the Query History page in Snowsight:
SELECT * FROM TABLE(VALIDATE(t1, JOB_ID=>'5415fa1e-59c9-4dda-b652-533de02fdcf1'));
上記と同じクエリですが、後で参照できるように結果をテーブルに保存します。
CREATE OR REPLACE TABLE save_copy_errors AS SELECT * FROM TABLE(VALIDATE(t1, JOB_ID=>'5415fa1e-59c9-4dda-b652-533de02fdcf1'));