TECHNOLOGY

FAQ (よくある質問)

対象バージョン : 8.0.1以降
対象OS : Windows 95/98/ME/NT/2000/XP

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;