# 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つの層のみを平坦化します。
データソースの例を以下に示します。
{
"ID": 1,
"NAME": "John Doe",
"HANDLES": {
"GITHUB": "johndoe",
"SLACK": "john"
}
}
平坦化されていない行は以下のようになります。
ID | NAME | HANDLES |
---|---|---|
1 | John Doe | {"github": "johndoe", "slack": "john"} |
平坦化された行は以下のようになります。
ID | NAME | HANDLES.GITHUB | HANDLES.SLACK |
---|---|---|---|
1 | John Doe | johndoe | john |
# Workato スキーママッパー
各データソース (API、データベース、ファイル) には、独自のスキーマがあります。一貫性を保つために、このアクションはソースの各データ型を SQL Server テーブルスキーマにマップします。このマッピングは、SQL Server テーブルを作成/更新する前に行われます。
入力データは以下で定義されるマッピングに基づいて SQL Server データ型に変換されます。
Workato のデータ型 | SQL Server のデータ型 |
---|---|
string | nvarchar(max) |
integer | bigint |
number | float(53) |
boolean | bit |
object | nvarchar(max) |
date date_time timestamp | datetime2 Workato では、コネクションの設定で定義されたタイムゾーンを使用するか、デフォルト SQL Server ユーザーアカウントのタイムゾーンを使用します。 |
Last updated: 2023/8/31 1:07:14