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

SQL Anywhere 11.0.1 (日本語) » Mobile Link - サーバ管理 » Mobile Link イベント » 同期イベント

 

upload_insert テーブル・イベント

リモート・データベースに挿入されたローを処理するために、Mobile Link サーバがアップロード処理中に使用するイベントを提供します。

パラメータ

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 スクリプトを 1 つ指定できます。

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 の例

次の Mobile Link システム・プロシージャ・コールは、スクリプト・バージョン 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 の例

次の Mobile Link システム・プロシージャ・コールは、スクリプト・バージョン 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} )");
 }