は、特別な目的のSQL コマンドであるREPLICATE を使用して、宣言的な方法ですべての変換を管理します。REPLICATE コマンドを使用すると、選択されるデータや適用される変換を定義し、同期先テーブルにデータをマッピングできます。
アプリケーションは、標準SQL クエリをソースAPI 呼び出しに動的に変換する完全なSQL-92 準拠エンジンを搭載しています。
REPLICATE 構文:
REPLICATE コマンドは、WITH 句を通じてレプリケーション中のデータ処理方法を制御する追加オプションをサポートします。一部のオプションは、変換ではなく実行動作に影響します。例えば、大規模なデータセットのスナップショットパフォーマンスを向上させるために、並列パーティション読み取りを有効にすることができます。詳細については、
並列パーティション読み取りによるスナップショットパフォーマンスを参照してください。
一般的なREPLICATE タスク
このセクションでは、一般的なREPLICATE タスクのいくつかの例を紹介します。
同期先にテーブルのコピーを維持する
同期先にテーブルのコピーを維持したい場合は、次のREPLICATE コマンドを使用できます:
このREPLICATE コマンドは、同期先データベース内にテーブルを作成します(まだ存在しない場合)。該当する場合は、REPLICATE ステートメントは最近の変更(データソースで新しく更新または挿入されたレコード)を取得して、それらを同期先に適用します。
別のテーブルからテーブルをレプリケートする
次のコマンドを使用すると、別のテーブルからテーブルをレプリケートできます(この例では、Table からREP_Table をレプリケートします)。
レプリケーション前にカラムを選択してデータの操作を実行する
レプリケーションを実行する前に特定のカラムを選択してデータの操作を実行するには、次のREPLICATE コマンドを使用できます:
このコマンドは、DateModified カラムとFullName カラムを使用してテーブルREP_Table を作成します。FullName カラムは、Table テーブルのFirstName とLastName を連結したカラムです。
主キーのある場合とない場合のテーブルのレプリケーション
REPLICATE ステートメントでカラムを再定義することで、 が同期先にテーブルを作成する方法をカスタマイズできます。このアプローチにより、同期先にテーブルが作成される際に主キーを含めるか省略するかを制御できます。
ソースに主キーが存在する場合でも、主キーのない同期先テーブルを作成するには、以下の構文に示すようにカラム定義にPRIMARY KEY キーワードなしでカラムを明示的に定義します:
例えば、Id カラムを主キーなしでAirlines テーブルを作成するには、次のコマンドを実行します:
ソースに主キーが存在しない場合でも、同期先に主キーを定義するには、同じ構文を使用してカラム定義にPRIMARY KEY キーワードを含めます: