Verarbeitet Anweisungen im Zusammenhang mit einer angegebenen Tabelle, unmittelbar nachdem in der entfernten Datenbank eine Liste von Zeilen vorbereitet wurde, die in dieser Tabelle gelöscht werden sollen.
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.
Dieses Skript wird unmittelbar nach der Erstellung der Liste von Zeilen ausgeführt, die aus der genannten Tabelle in der entfernten Datenbank gelöscht werden sollen.
Sie können für jede Tabelle in der entfernten Datenbank ein end_download_deletes-Skript benutzen.
Sie möchten eine Zeile in der entfernten Datenbank als gelöscht markieren. Das folgende Skript aktualisiert eine Spalte in der konsolidierten Datenbank OnRemote.
Die WHERE-Klausel in der UPDATE-Anweisung stimmt mit der WHERE-Klausel überein, die für Ihr Ereignisskript download_delete_cursor verwendet wurde.
CALL ml_add_table_script( 'version1', 'Leads', 'end_download_deletes', 'UPDATE Leads SET OnRemote = 0 WHERE LastModified >= {ml s.last_table_download} AND Owner = {ml s.username} AND DeleteFlag=1'); |
Der folgende Aufruf einer MobiLink-Systemprozedur registriert eine Java-Methode namens endDownloadDeletes als das Skript für das Tabellenereignis end_download_deletes, wenn die Skriptversion ver1 synchronisiert wird.
CALL ml_add_java_table_script( 'ver1', 'table1', 'end_download_deletes', 'ExamplePackage.ExampleClass.endDownloadDeletes' ) |
Sie möchten eine Zeile in der entfernten Datenbank als gelöscht markieren. Im Folgenden sehen Sie die Java-Beispielmethode endDownloadDeletes. Sie aktualisiert eine Spalte in der konsolidierten Datenbank OnRemote, um anzuzeigen, dass der Datensatz nicht mehr in der entfernten Datenbank enthalten ist.
Die WHERE-Klausel in der UPDATE-Anweisung stimmt mit der WHERE-Klausel überein, die für Ihr Ereignisskript download_delete_cursor verwendet wurde.
public String endDownloadDeletes( Timestamp ts, String user, String table ) { return( "UPDATE Leads SET OnRemote = 0 WHERE LastModified >= {ml s.last_table_download} AND Owner = {ml s.username} AND DeleteFlag=1" ); } |
Der folgende Aufruf einer MobiLink-Systemprozedur registriert eine .NET-Methode namens EndDownloadDeletes als das Skript für das Tabellenereignis end_download_deletes, wenn die Skriptversion ver1 und die Tabelle table1 synchronisiert werden.
CALL ml_add_dnet_table_script( 'ver1', 'table1', 'end_download_deletes', 'TestScripts.Test.EndDownloadDeletes' ) |
Sie möchten eine Zeile in der entfernten Datenbank als gelöscht markieren. Im Folgenden sehen Sie die .NET-Beispielmethode EndDownloadDeletes. Sie aktualisiert eine Spalte in der konsolidierten Datenbank OnRemote, um anzuzeigen, dass der Datensatz nicht mehr in der entfernten Datenbank enthalten ist. Die WHERE-Klausel in der UPDATE-Anweisung stimmt mit der WHERE-Klausel überein, die für Ihr Ereignisskript download_delete_cursor verwendet wurde.
public string EndDownloadDeletes( DateTime timestamp, string user, string table) { return( "UPDATE Leads SET OnRemote = 0 WHERE LastModified >= {ml s.last_table_download} AND Owner = {ml s.username} AND DeleteFlag=1" ); } |
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 |