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 (中文) » MobiLink - 客户端管理 » 用于 MobiLink 的 SQL Anywhere 客户端 » 脚本式上载 » 教程:使用脚本式上载

 

第 6 课:清除前映像表和删除表

在本课中,您将创建 upload_end 挂接来清除前映像表和删除表。

前提条件

本课假定您拥有在本教程(教程:使用脚本式上载)开头的“特权”部分中列出的角色和特权。

本课假定您已完成前面的所有课程。 请参见第 1 课:创建统一数据库

上下文和注释

此教程使用 dbmlsync 扩展选项 LockTables 的缺省设置,以便同步时锁定这些表。因此,您不必担心在表中留下在 end_progress 后发生的操作的行。锁定会防止发生这些操作。

 任务
  • 使用连接到远程数据库的 Interactive SQL 实例,创建 upload_end 挂接,用于在上载成功时清理 employee_preimage 和 employee_delete 表。



    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;

结果

上载成功时,将从表中删除前映像结果和删除结果。