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

SQL Anywhere 11.0.1 (中文) » MobiLink - 服务器管理 » MobiLink 事件 » 同步事件

 

upload_insert 表事件

为 MobiLink 服务器提供一个在上载处理过程中使用的事件,该事件用于处理插入到远程数据库中的行。

参数

SQL 脚本的参数名称

顺序

r.pk-column-1 1
... ...
r.pk-column-N N

r.column-1

N +1

... ...

r.column-M

N + M

缺省操作

无。

注释

基于语句的 upload_insert 脚本将用于直接插入列值。

您可以为远程数据库的每个表编写一个 upload_insert 脚本。

对于 Java 和 .NET 应用程序,此脚本必须返回有效的 SQL。

另请参见
SQL 示例

此示例处理在远程数据库的 Customer 表中进行的插入。该脚本将值插入到统一数据库的名为 Customer 的表中。该表的最后一列将 Customer 标识为活动。最后一列不会在远程数据库中出现。

CALL ml_add_table_script(
 'ver1',
 'Customer',
 'upload_insert',
 'INSERT INTO Customer( 
   cust_id, 
   name, 
   rep_id, 
   active )
  VALUES ( 
   {ml r.cust_id}, 
   {ml r.name}, 
   {ml r.rep_id}, 
   1 )' );
Java 示例

以下对 MobiLink 系统过程的调用在同步脚本版本 ver1 时将名为 uploadInsertTable 的 Java 方法注册为 upload_insert 表事件的脚本。

CALL ml_add_java_table_script(
  'ver1',
  'table1',
  'upload_insert',
  'ExamplePackage.ExampleClass.uploadInsertTable' )

以下是 Java 方法 uploadInsertTable 示例。它动态生成 INSERT 语句。此语法用于 SQL Anywhere 统一数据库。

public String uploadInsertTable() {  
  return("INSERT INTO " + _curTable + getCols(_curTable)
    + " VALUES " + getQM(_curTable)); 
}
.NET 示例

以下对 MobiLink 系统过程的调用在同步脚本版本 ver1 和表 table1 时将名为 UploadInsert 的 .NET 方法注册为 upload_insert 表事件的脚本。此语法用于 SQL Anywhere 统一数据库。

CALL ml_add_dnet_table_script(
  'ver1',
  'table1',
  'upload_insert',
  'TestScripts.Test.UploadInsert'
)

以下是 .NET 方法 UploadInsert 示例。它返回一条针对 ULCustomer 表的 INSERT 语句。

public static string UploadInsert() {
   return("INSERT INTO ULCustomer( cust_id, cust_name ) VALUES ( {ml r.cust_id}, {ml r.cust_name} )");
 }