您可以使用此存储过程在每个表下载后添加自定义操作。
名称 | 值 | 说明 |
---|---|---|
table name (in) |
表名 |
刚刚对其应用过操作的表。 |
delete count (in) |
行数 |
此表中由下载删除的行数。 |
upsert count (in) |
行数 |
此表中由下载更新或插入的行数。 |
publication_n (in) |
发布 |
不建议使用。改用 subscription_n。正被同步的发布,其中 n 是一个整数。每个正在同步的发布都有一个 publication_n 条目。n 的编号从零开始。 |
MobiLink user (in) |
MobiLink 用户名 |
您正在为其进行同步的 MobiLink 用户。 |
script version (in) |
脚本版本名称 |
将用于同步的 MobiLink 脚本版本。 |
subscription_n (in) | 预订名称 | 正在进行同步的预订的名称,其中 n 是一个整数。每个正在同步的预订都有一个 subscription_n 条目。n 的编号从零开始。 |
如果以该名称命名的过程存在,则将在对表应用完下载中的所有操作之后立即调用此过程。
此过程的操作将在下载被提交或被回退时被提交或被回退。
假定您使用下面的表记录远程数据库上的同步事件。
CREATE TABLE SyncLog ( "event_id" integer NOT NULL DEFAULT autoincrement , "event_time" timestamp NULL, "event_name" varchar(128) NOT NULL , "subs" varchar(1024) NULL , PRIMARY KEY ("event_id") ) |
以下代码为每个同步记录了每个表的下载的结束信息。
CREATE PROCEDURE sp_hook_dbmlsync_download_table_end () BEGIN DECLARE subs_list VARCHAR(1024); -- build a list of subscriptions being synchronized SELECT LIST(value) INTO subs_list FROM #hook_dict WHERE name LIKE 'subscription_%'; -- log the event INSERT INTO SyncLog(event_time, event_name, subs) VALUES( CURRENT TIMESTAMP, 'sp_hook_dbmlsync_download_table_end, subs_list ); END |
![]() |
使用DocCommentXchange 讨论此页。
|
版权 © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |