SQL Server - Replicate (複製) アクション

このアクションは、SQL Server インスタンス内の選択されたテーブルを更新します。リストデータピルを入力として取り、それらを行として挿入または更新します。

Workato はまず入力データと SQL Server テーブルのスキーマを検出および比較します。それらが一致しない場合、このアクションは SQL Server テーブル内に新しい列を作成します。これにより、入力スキーマに更新があった場合でも、入力のすべてのデータが SQL Server に自動的に同期されるようになります。

入力

入力説明
Table name完全なテーブル名を入力して、行を挿入するテーブルを選択します。SQL Server では大文字と小文字は区別されません。
Unique keysこれらの一意のキーの値を使用して行を照合します。テーブルで既存の行が検出された場合、更新されます。存在しない場合は、行が挿入されます。
Rows入力としてリストデータピルが使用されます。
Flatten columns入力データがオブジェクトとして書式設定されている場合、これを使用してオブジェクトを個々のキーと値のペアに平坦化します。詳細については、こちらを参照してください。
Exclude columnsこの複製で除外する列をリストデータピルから選択します。除外された列はテーブルに追加されません。

出力

出力説明
A new table was created指定されたテーブル名が存在せず、ジョブで作成された場合に true になります。そうでない場合は false になります。
An existing table was altered新しい列が検出され、テーブル内で追加/変更された場合に true になります。そうでない場合は false になります。
Number of rows upsertedテーブル内で挿入/アップサートされた行の数。

flatten を使用するタイミング

データをオブジェクトとして書式設定している場合は、ネストされたデータに直接アクセスできない場合があります (JSON オブジェクト内にネストされたデータなど)。

オブジェクトを平坦化し、個々のキーと値のペアを一意の列として扱うには、[Flatten columns] のトグルを使用します。このアクションは、ネストされたデータの1つの層のみを平坦化します。

データソースの例を以下に示します。

json
{
  "ID": 1,
  "NAME": "John Doe",
  "HANDLES": {
    "GITHUB": "johndoe",
    "SLACK": "john"
  }
}

平坦化されていない行は以下のようになります。

IDNAMEHANDLES
1John Doe{"github": "johndoe", "slack": "john"}

平坦化された行は以下のようになります。

IDNAMEHANDLES.GITHUBHANDLES.SLACK
1John Doejohndoejohn

Workato スキーママッパー

各データソース (API、データベース、ファイル) には、独自のスキーマがあります。一貫性を保つために、このアクションはソースの各データ型を SQL Server テーブルスキーマにマップします。このマッピングは、SQL Server テーブルを作成/更新する前に行われます。

入力データは以下で定義されるマッピングに基づいて SQL Server データ型に変換されます。

Workato のデータ型SQL Server のデータ型
stringnvarchar(max)
integerbigint
numberfloat(53)
booleanbit
objectnvarchar(max)
date
date_time
timestamp
datetime2
Workato では、コネクションの設定で定義されたタイムゾーンを使用するか、デフォルト SQL Server ユーザーアカウントのタイムゾーンを使用します。

Last updated: