UPDATE 文では、データベースに入力された文とまったく同じ文がレプリケートされない場合があります。次の例で、UPDATE 文がレプリケートされる仕組みについて説明します。
UPDATE 文は、いずれかのリモートユーザーのサブスクリプションでローを更新する場合、UPDATE 文としてそのユーザーに送信されます。
UPDATE 文は、いずれかのリモートユーザーのサブスクリプションからローを削除する場合、DELETE 文としてそのユーザーに送信されます。
UPDATE 文は、いずれかのリモートユーザーのサブスクリプションにローを追加する場合、INSERT 文としてそのユーザーに送信されます。
UPDATE 文がレプリケートされる仕組みを説明するため、次の例では、統合データベースとユーザー Ann、Marc、ManagerSteve の 3 つのリモートデータベースを使用します。
統合データベースには、次の文を使用して作成された、cons という名前のパブリケーションが存在します。
CREATE PUBLICATION "cons"."p1" ( TABLE "DBA"."customers" ( "ID", "Rep") SUBSCRIBE BY repid ); |
Ann と Marc は、cons パブリケーションに対して、それぞれの Rep カラム値でサブスクライブします。ManagerSteve は、cons パブリケーションに対して、Ann と Marc の Rep カラム値を使用してサブスクライブします。次の文は、パブリケーション cons に対して 3 人のユーザーをサブスクライブします。
CREATE SUBSCRIPTION TO "cons"."p1"( 'Ann' ) FOR "Ann"; CREATE SUBSCRIPTION TO "cons"."p1"( 'Marc' ) FOR "Marc"; CREATE SUBSCRIPTION TO "cons"."p1"( 'Ann' ) FOR "ManagerSteve"; CREATE SUBSCRIPTION TO "cons"."p1"( 'Marc' ) FOR "ManagerSteve"; |
統合データベースでは、Marc から Ann にローの Rep 値を変更する UPDATE 文が、次のようにレプリケートされます。
Marc に対しては DELETE 文として。
Ann に対しては INSERT 文として。
ManagerSteve に対しては UPDATE 文として。
サブスクライバー間のローの再割り当ては、営業担当者間に顧客を定期的に再割り当てする営業支援アプリケーションに共通の機能で、「領域の再編成」とも呼ばれます。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |