- カテゴリ:
システム関数 (システム制御)
SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS¶
システムが既に処理を開始している、指定されたタスクの実行を中止します(つまり、 TASK_HISTORY 出力に EXECUTING 状態の実行)。
構文¶
SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS( '<task_name>' )
引数¶
task_name
タスクの名前。
使用上の注意¶
このコマンドを実行できるのは、タスク所有者(つまり、タスクに対する OWNERSHIP 権限を持つロール) または タスクに対する OPERATE 権限を持つロールのみです。
task_name
は文字列であるため、一重引用符で囲む必要があります。データベースとスキーマ(名前が完全修飾されている場合)を含む、名前全体を一重引用符で囲む必要があります。つまり、
'<データベース>.<スキーマ>.<タスク名>'
。タスク名で大文字と小文字が区別されるか、特殊文字やスペースが含まれる場合、大文字と小文字の処理には二重引用符が必要です。二重引用符は、一重引用符で囲む必要があります。つまり、
'"<タスク名>"'
。
この関数は、指定されたタスクの現在の実行が実際にキャンセルされる前に、成功メッセージを返します。
指定されたタスクの現在の実行がほぼ完了している場合、この関数は実行をキャンセルしない可能性があります。
この関数は、指定されたタスクの現在の実行のみをキャンセルします。このタスクを含む タスクグラフ 内の追加のタスクも実行されている可能性があります。これらの実行をキャンセルするには、この関数を呼び出して、追加の各子タスクの名前を個別に指定する必要があります。
タスクの実行がキャンセルされたか完了したか、または現在実行中の子タスクがあるかを確認するには、 TASK_HISTORY 関数をクエリします。
今後タスクの実行が開始されないようにするには、最初にタスクを中断( ALTER TASK ... SUSPEND を使用)してから、この関数を実行することお勧めします。
この関数の実行時にタスクが 中断されていない 場合は、Snowflakeクラウドサービスがこのタスクの実行のスケジューリングを再開するために、現在数分間が必要です。
例¶
大文字と小文字を区別しない名前でタスクの現在の実行を中止します。
SELECT SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS('mydb.myschema.mytask');
大文字と小文字を区別する名前でタスクの現在の実行を中止します。
SELECT SYSTEM$USER_TASK_CANCEL_ONGOING_EXECUTIONS('mydb.myschema."myTask"');