# Snowflake - カスタムSQLアクションを使用して長いクエリを実行
このアクションでは、設定されたタイムアウト内でカスタムSQLクエリを非同期に実行することができます。INSERT
、UPDATE
、DELETE
などのデータ操作言語(DML)ステートメントや、CREATE
、ALTER
、DROP
などのデータ定義言語(DDL)コマンドを実行するために使用できます。
カスタムSQLクエリの処理が始まると、Workatoは定期的にクエリ結果が取得可能かどうかを確認します。結果が正常に取得されると、Workatoはレシピの次のステップに進みます。
# 長いクエリを使用すべき理由
大規模なデータセットをアップロード(INSERT
)または更新(UPDATE
)する場合、アクションの応答に長い時間がかかることがあります。タイムアウト制限を超えると、タイムアウトエラーによりレシピが失敗します。
SQLクエリを非同期に実行することで、大規模なデータセット上でのクエリを実行できます。アクションが実行できる最大時間は60分です。この上限を超えると、ジョブはタイムアウトします。
カスタムSQLアクションで長いクエリを実行
# 入力フィールド
入力フィールド | 説明 |
---|---|
SQL | This field is required。実行する有効なSQL文字列を提供してください。このSQL文字列はあなたの Snowflake インスタンスで実行されます。 複数のSQLステートメントが提供された場合、それらはすべて実行されます。ただし、最後のステートメントの結果のみが返されます。各ステートメントが データピルをここにマッピングして、動的に変化するSQLステートメントを実行できます。データピルをシングルクォート( |
パラメータ | このフィールドはSQLステートメントと併用されます。まず、WHERE句で名前付きバインド変数を宣言します。次に、この入力フィールドを使用してこれらの変数に値を割り当てます。パラメータ値は静的な値またはデータピルにできます。データベースがバインド変数に期待する最も近い対応するデータ型を選択してください。 |
タイムアウト制限(分) | この待機アクションの上限を設定します。このアクションが指定されたタイムアウトより長くかかると、ジョブはエラーを返します。最大タイムアウトは60分です。 |
出力フィールド | この入力を使用して、SQLステートメントから期待する列を説明します。返り値を期待しない場合や必要ない場合は、この入力フィールドを無視しても構いません。 |
# 出力フィールド
出力フィールド | 説明 |
---|---|
行 | SQL実行から返された行のリスト。このリストのフィールドは出力フィールド入力フィールドによって定義されます。 空白のままにすると、この行はデータツリー内で配列データピルとして利用可能になります。 |
影響を受けた行数 |
データ操作言語(DML)ステートメントの実行によって影響を受けた、または変更された行の数を指します。
DDL(CREATE)を実行すると、値 |
行数 | 返された行の数を指します。 |
Last updated: 2025/3/13 9:42:40