リモート・データベースから削除されたローを処理するために、Mobile Link サーバがアップロード処理中に使用するイベントを提供します。
SQL スクリプトのパラメータ名 |
順序 |
---|---|
r.pk-column-1 |
1 |
... | ... |
r.pk-column-N |
N |
r.column-1 |
N + 1 |
... | ... |
r.column-M | N + M |
なし
文ベースの upload_delete スクリプトは、リモート・データベースで削除されるローを処理します。統合データベース側で実行される動作として DELETE 文を指定できますが、他の動作も指定できます。
リモート・データベースのテーブルごとに、upload_delete スクリプトを 1 つ指定できます。
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={ml r.cust_id}' ) |
次の Mobile Link システム・プロシージャ・コールは、スクリプト・バージョン ver1 を同期するときに、uploadDeleteTable という Java メソッドを upload_delete テーブル・イベント用のスクリプトとして登録します。
CALL ml_add_java_table_script( 'ver1', 'table1', 'upload_delete', 'ExamplePackage.ExampleClass.uploadDeleteTable' ) |
次に示すのは、サンプルの Java メソッド uploadDeleteTable です。このメソッドは、UPLOAD 文を動的に生成する genUD を呼び出します。
public String uploadDeleteTable() { return( genUD(_curTable) ); } |
次の Mobile Link システム・プロシージャ・コールは、スクリプト・バージョン ver1 とテーブル table1 を同期するときに、UploadDelete という .NET メソッドを upload_delete テーブル・イベント用のスクリプトとして登録します。
CALL ml_add_dnet_table_script( 'ver1', 'table1', 'upload_delete', 'TestScripts.Test.UploadDelete' ) |
次に示すのは、サンプルの .NET メソッド UploadDelete です。このメソッドは、UPLOAD 文を動的に生成する genUD を呼び出します。
public string UploadDelete( object pk1 ) { return( genUD(_curTable) ); } |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |