QUESTION(SQ0302039)
Mobile Link同期中にリモートデータベースで行う削除処理を統合データベースに反映させないようにするにはどうしたらいいですか?
ANSWER
Mobile LinkでのDelete処理は、設計段階で熟考していただきたい問題の一つです。方法としてはいくつか種類がありますが、ここではリモートデータベースで行うDelete処理をアップロード処理に含めない方法をご説明します。
STOP SYNCHRONIZATION DELETE および START SYNCHRONIZATION DELETE というSQL文を使用します。
通常、Adaptive Server Anywhereでは同期処理の一部になっているテーブルやカラムで行われた全ての変更のログを自動的に取り、これを次の同期中のアップロードフェーズとして使用します。
Delete処理をこの作業に含ませない場合は、上記のSTOP SYNCRONIZATION DELETE文を使用し、同期処理に使用するロギングを一時中断します。この文以降の作業はアップロードフェーズに含まれません。Delete処理をこの文以降に記述し、他のSQL文をアップロードフェーズに反映させたければ、START SYNCHRONIZATION DELETE文を記述します。この文以降から中断されていたロギングが再起動されます。つまり、STOP SYNCRONIZATION DELETE文からSTART SYNCHRONIZATION DELETE文までの間に記述されたDELETE文は、アップロードフェーズに反映されません。
例
STOP SYNCHRONIZATION DELETE;
DELETE FROM orders
WHERE customer_name = 'NO longer needed';
START SYNCHRONIZATION DELETE;
COMMIT;
|