Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 » Mobile Link クライアント管理 » Mobile Link 用 SQL Anywhere クライアント » スクリプト化されたアップロード » チュートリアル:スクリプト化されたアップロードの使用

 

レッスン 6:更新前イメージテーブルと削除テーブルのクリーンアップ

このレッスンでは、更新前イメージテーブルと削除テーブルをクリーンアップするための upload_end フックを作成します。

前提条件

このレッスンでは、このチュートリアルの冒頭の「権限」セクションに一覧になっているロールおよび権限を持っていることを前提としています。 チュートリアル:スクリプト化されたアップロードの使用

このレッスンは、受講者がこれまでのすべてのレッスンを終了していることを前提としています。 レッスン 1:統合データベースの作成を参照してください。

内容と備考

このチュートリアルでは、同期中にテーブルがロックされるように、dbmlsync 拡張オプション LockTables にデフォルト設定を使用します。したがって、テーブルのローに対して、end_progress 後に発生した操作が実行される心配がありません。ロックにより、このような操作が発生するのを防ぐことができます。

 ♦ タスク
  • リモートデータベースに接続された Interactive SQL のインスタンスを使用して、アップロードが成功したときに employee_preimage と employee_delete テーブルをクリーンアップする upload_end フックを作成します。



    CREATE PROCEDURE sp_hook_dbmlsync_upload_end()
    BEGIN
        DECLARE val   varchar(256);
        
        SELECT value
        INTO val 
        FROM #hook_dict
        WHERE name = 'upload status';
        
        IF val = 'committed' THEN
          DELETE FROM employee_delete;
          DELETE FROM employee_preimages;
        END IF;
    END;

結果

アップロードが成功したときに、更新前イメージと削除の結果がテーブルから削除されます。