リフレッシュ操作を制御するための SQL の指定

デフォルトでは、CDC Replication は、 表レベルの消去操作またはリフレッシュ操作に応答して、ターゲット表にある行をすべて削除します。 表の消去操作またはリフレッシュ操作に 応答して CDC Replication に削除させる 行を制限する SQL WHERE 節を指定できます。

CDC Replication は、条件が真である行のみを削除または切り捨てます。例えば、サプライヤー表から行を削除するために WHERE 節を使用するとします。 SQL 文 SupplierName= 'IBM' により、サプライヤー表から、SupplierName が IBM® であるすべての行が削除されます。

また、CDC Replication が 表のリフレッシュ操作、切り捨て操作、または消去操作をターゲット表に適用した後で実行される追加の SQL ステートメントを指定することもできます。

すべての CDC Replication レプリケーション・エンジン (CDC Replication Engine for DB2® for z/OS®CDC Replication Engine for DB2 for LUW を除く) では、DMSQL コマンドを実行して、 Management Console「追加 SQL」フィーチャーを使用可能にする必要があります。詳しくは、 適切な CDC Replication レプリケーション・エンジンの 資料で、コマンド に関するセクションを参照してください。

CDC Replication Engine for DB2 for z/OS をインストールした場合は、キーワード ALLOWSQL を YES に設定して、Management Console追加の SQL フィーチャーを有効にする必要があります。このキーワードは CHCDBMxx 構成制御データ・セット・メンバーに追加できます。このキーワードについて詳しくは、『../../com.ibm.cdcdoc.cdcforzos.doc/refs/allowsql.html』を参照してください。

CDC Replication Engine for DB2 for LUW をインストールした場合は、 メタデータ表を作成して Management Console「追加 SQL」フィーチャーを有効にする必要があります。 このフィーチャーについて詳しくは、『../../com.ibm.cdcdoc.cdcfordb2luw.doc/tasks/enablesqlstatementsinmanagementconsole.html』を参照してください。

Management Console で SQL 文を発行する前に、以下の事項について検討してください。
  • スペースを含んだデータベース、表、または列の名前を参照する場合は、名前を大括弧で囲む必要がある。 例えば、「EMP NY」という表名を参照する場合は、「[EMP NY]」と入力する。
  • delete WHERE 節が文字の列を参照する場合、指定される値を単一引用符で囲む必要がある。例: MGR = 'Anna Kim'
  • delete WHERE 節では、LOB 列は参照できない。
  • 指定できるのは、SQL INSERT、UPDATE、および DELETE の文のみである。
  • SQL 文の長さは、4,000 バイトまで。1 行に収まらない SQL 文を指定する場合、Enter キーを押して 1 行を超える文に改行を入れてはならない。 テキストは次の行へ自動的に送られます。
  • 論理的な分岐や反復はサポートされない。
  • ターゲット・サーバーで実行しているデータベースは、SQL 文の構文を認識する必要がある。
  • 複数の SQL 文は、セミコロン (;) で区切る。 SQL 文中の文字ストリングにセミコロンが含まれている場合は、ストリング内で連続した 2 つのセミコロンを (;;) 指定する。
  • Management Console は、SQL 文が構文上正しいかどうかは検証しない。ターゲットの DBMS で、レプリケーション中に文が検証される。