# SQL Server - Run custom SQL (カスタム SQL の実行) アクション

# Run custom SQL (カスタム SQL の実行)

このアクションを使用すると、SQL 文字列を SQL Server インスタンスに送信して実行できます。これは、INSERTUPDATESELECT、および DELETE のようなデータ操作言語 (DML) 文や、CREATEALTER、および DROP のようなデータ定義言語 (DDL) コマンドを実行するために使用できます。

Select rows using custom SQL とは異なり、このアクションは設定を容易にするよう最適化されていません。列数が多い SELECT 文の場合は、代わりにそちらのアクションを使用してください。カスタム SQL を使用することは、レシピを効率化し、Workato とデータベース間で負荷を分散するのに優れた方法です。カスタム SQL を使用してレシピを効率化する方法の詳細については、ベストプラクティスのセクションをご覧ください。

このアクションには、OPA バージョン2.4.3以降を使用するコネクションが必要です。オンプレミス接続の詳細については、こちらを参照してください。

タイムアウトエラーが表示される

大規模なデータセットの一括読み込み時には、データベースでテーブルを作成および更新するのに長時間かかる場合があります。これにより、ジョブがタイムアウトして失敗する場合があります。

カスタム SQL を非同期で実行して、タイムアウトエラーを防止してください。詳細については、こちらを参照してください。

Run custom SQL アクション Run custom SQL アクション

# 入力項目

入力項目 説明
SQL

この項目は必須です。実行する有効な SQL 文字列を入力します。この SQL 文字列は SQL Server インスタンス内で実行されます。

複数の SQL 文が入力された場合は、それらすべてが実行されます。ただし、最後に入力された文の結果のみが返されます。各文は必ず ; 文字で区切ってください。

データピルをここにマッピングして、動的に変化する SQL 文を実行できます。データピルは必ず引用符 ('') で囲んでください。

出力項目

この入力を使用して、SQL 文から期待される列を記述します。

返り値を期待していないか、必要でない場合、この入力項目は無視できます。

# 出力項目

出力項目 説明
Rows

SQL の実行により返される行のリスト。このリスト内の項目は、[Output fields] 入力項目により定義されます。

空白のままにすると、この行はデータツリー内で配列データピルとして利用できます。

Rows affected

これは、SQL 文字列から挿入/更新/削除される行数を示す整数値です。

SELECT 文を実行すると、これは nil を返します。

DDL (テーブルの作成など) を実行すると、値 0 が返されます。

サイズ制限

カスタム SQL 文がデータを返す際は、50,000 行のサイズ制限が存在します。

# Run custom SQL asynchronously (カスタム SQL の非同期による実行)

このアクションを使用すると、SQL 文字列を SQL Server インスタンスに送信して実行できます。これは、INSERTUPDATESELECT、および DELETE のようなデータ操作言語 (DML) 文や、CREATEALTER、および DROP のようなデータ定義言語 (DDL) コマンドを実行するために使用できます。

カスタム SQL クエリーが処理を開始した後、Workato はクエリー結果を取得する準備ができているかどうかを定期的にチェックします。結果が正常に取得されると、レシピの次のステップに進みます。

# 非同期で実行する理由

大規模なデータセットがアップロード (INSERT) または更新 (UPDATE) された場合、このアクションで応答に時間がかかる場合があります。タイムアウト制限を超えた場合、タイムアウトエラーによりレシピは失敗します。

SQL クエリーを非同期で実行することにより、タイムアウトを心配することなく、大きなデータセットでクエリーを実行できるようになります。アクションで処理に数時間かかった場合でも、ジョブがタイムアウトすることはありません。

このアクションには、OPA バージョン2.4.3以降を使用するコネクションが必要です。オンプレミス接続の詳細については、こちらを参照してください。

Run custom SQL (非同期) アクション Run custom SQL (非同期) アクション

# 出力項目

出力項目 説明
Rows

SQL の実行により返される行のリスト。このリスト内の項目は、[Output fields] 入力項目により定義されます。

空白のままにすると、この行はデータツリー内で配列データピルとして利用できます。

Rows affected

これは、SQL 文字列から挿入/更新/削除される行数を示す整数値です。

SELECT 文を実行すると、これは nil を返します。

DDL (テーブルの作成など) を実行すると、値 0 が返されます。

サイズ制限

カスタム SQL 文がデータを返す際は、50,000 行のサイズ制限が存在します。


Last updated: 2023/8/31 1:07:14