为 MobiLink 同步服务器提供一个在上载流处理过程中使用的事件,该事件用于处理从远程数据库中删除的行。
| 项 | 参数 |
|---|---|
| 1 | primary key 1 |
| 2 | primary key 2 |
| ... | ... |
无。
基于语句的 upload_delete 脚本用于处理远程数据库中删除的行。统一数据库中所执行的操作可以是 DELETE 语句,但不一定必须是。
您可以为远程数据库的每个表编写一个 upload_delete 脚本。
对于 Java 和 .NET 应用程序,此脚本必须返回有效的 SQL。
下例来自于 Contact 示例并可以在 Samples\MobiLink\Contact\build_consol.sql 中找到。它将从远程数据库中删除的客户标记为非活动。
call ml_add_table_script( 'ver1', 'table1', 'upload_delete', 'UPDATE Customer SET active = 0 WHERE cust_id=?')
下面的存储过程调用在同步脚本版本 ver1 时将名为 uploadDeleteTable 的 Java 方法注册为 upload_delete 表事件的脚本。
call ml_add_java_table_script( 'ver1', 'table1', 'upload_delete', 'ExamplePackage.ExampleClass.uploadDeleteTable' )
下面是示例 Java 方法 uploadDeleteTable。它调用 genUD,genUD 会动态生成一个 UPLOAD 语句。
public string uploadDeleteTable()
{ return( genUD(_curTable) ); }下面的存储过程调用在同步脚本版本 ver1 和表 table1 时将名为 UploadDelete 的 .NET 方法注册为 upload_delete 表事件的脚本。
call ml_add_dnet_table_script( 'ver1', 'table1', 'upload_delete', 'TestScripts.Test.UploadDelete' )
下面是示例 .NET 方法 UploadDelete。它调用 genUD,genUD 会动态生成一个 UPLOAD 语句。
public string UploadDelete( object pk1 )
{ return( genUD(_curTable) ); }SQL Anywhere Studio 9.0.2
版权所有 © 1989–2005 Sybase, Inc. 部分版权所有 © 2001–2005 iAnywhere Solutions, Inc. 保留所有权利。