Verarbeitet Anweisungen im Zusammenhang mit einer bestimmten Tabelle, bevor die Download-Einfügungen, -Aktualisierungen und -Löschungen vorbereitet werden.
In der folgenden Tabelle stellt die Beschreibung den SQL-Datentyp bereit. Wenn Sie Ihr Skript in Java oder .NET schreiben, müssen Sie den entsprechenden Datentyp benutzen. Weitere Hinweise finden Sie unter SQL-Java-Datentypen und SQL-.NET-Datentypen.
In SQL-Skripten können Sie Ereignisparameter mit ihrem Namen oder mit einem Fragezeichen angeben. Namen und Fragezeichen dürfen jedoch in einem Skript nicht gemischt verwendet werden. Wenn Sie Fragezeichen verwenden, müssen die Parameter in der nachfolgend gezeigten Reihenfolge stehen und sind nur dann optional, wenn keine nachfolgenden Parameter angegeben wurden (z.B. müssen Sie Parameter 1 verwenden, wenn Sie Parameter 2 verwenden möchten). Wenn Sie benannte Parameter verwenden, können Sie beliebige Teilmengen der Parameter in beliebiger Reihenfolge angeben.
Parametername für SQL-Skripten | Beschreibung | Reihenfolge |
---|---|---|
s.last_table_download | TIMESTAMP. Zeitpunkt des letzten Downloads der Tabelle. | 1 |
s.remote_id | VARCHAR(128). Die entfernte ID von MobiLink. Sie können die entfernte ID nur dann referenzieren, wenn Sie benannte Parameter verwenden. | Nicht anwendbar |
s.username | VARCHAR(128). Der MobiLink-Benutzername | 2 |
s.table | VARCHAR(128). Der Tabellenname | 3 |
Keine.
Der MobiLink-Server führt dieses Ereignis als ersten Schritt bei der Verarbeitung von Download-Daten für eine bestimmte Tabelle aus. Die Download-Daten werden in einer eigenen Transaktion vorbereitet. Die Ausführung dieses Ereignisses ist die erste tabellenspezifische Aktion in der Transaktion.
Sie können für jede Tabelle in der entfernten Datenbank ein begin_download-Skript benutzen. Das Skript wird nur aufgerufen, wenn die Tabelle synchronisiert wird.
Der folgende Aufruf der MobiLink-Systemprozedur ml_add_table_script ruft die Prozedur BeginTableDownload auf. Diese Syntax gilt für konsolidierte SQL Anywhere 11-Datenbanken.
CALL ml_add_table_script( 'version1', 'Leads', 'begin_download', 'CALL BeginTableDownLoad( {ml s.last_table_download}, {ml s.username}, {ml s.table} )' ); |
Mit den folgenden SQL-Anweisungen erstellen Sie die Prozedur BeginTableDownload.
CREATE PROCEDURE BeginTableDownload( LastDownload timestamp, MLUser varchar(128), TableName varchar(128) ) BEGIN EXECUTE IMMEDIATE 'update ' || TableName || ' set last_download_check = CURRENT TIMESTAMP WHERE Owner = ' ||MLUser; END |
Der folgende Aufruf einer MobiLink-Systemprozedur registriert eine Java-Methode namens beginDownloadTable als das Skript für das Tabellenereignis begin_download, wenn die Skriptversion ver1 synchronisiert wird.
CALL ml_add_java_table_script( 'ver1', 'table1', 'begin_download', 'ExamplePackage.ExampleClass.beginDownloadTable' ) |
Im Folgenden sehen Sie die Java-Beispielmethode beginDownloadTable. Damit wird der Name der aktuellen Tabelle für die Verwendung in einem späteren Methodenaufruf gespeichert.
public String beginDownloadTable( Timestamp ts, String user, String table ) { _curTable = table; return ( null ); } |
Der folgende Aufruf einer MobiLink-Systemprozedur registriert eine .NET-Methode namens BeginTableDownload als das Skript für das Tabellenereignis begin_download, wenn die Skriptversion ver1 und die Tabelle table1 synchronisiert werden.
CALL ml_add_dnet_table_script( 'ver1', 'table1', 'begin_download', 'TestScripts.Test.BeginTableDownload' ) |
Im Folgenden sehen Sie die .NET-Beispielmethode BeginTableDownload. Damit wird der Name der aktuellen Tabelle für die Verwendung in einem späteren Methodenaufruf gespeichert.
public string BeginTableDownload( DateTime timestamp, string user, string table ) { _curTable = table; return ( null ); } |
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |