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

SQL Anywhere 11.0.1 (Deutsch) » MobiLink - Serveradministration » MobiLink-Ereignisse » Synchronisationsereignisse

 

end_upload_deletes (Tabellenereignis)

Verarbeitet Anweisungen im Zusammenhang mit einer angegebenen Tabelle, unmittelbar nachdem in der entfernten Datenbank Löschungen in dieser Tabelle ausgeführt wurden.

Parameter

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.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

1

s.table

VARCHAR(128). Der Tabellenname

2

Standardaktion

Keine.

Bemerkungen

Dieses Skript wird ausgeführt, unmittelbar nachdem die Änderungen übernommen wurden, die durch das Löschen von Zeilen in der im zweiten Parameter genannten entfernten Tabelle notwendig geworden sind.

Sie können für jede Tabelle in der entfernten Datenbank ein end_upload_deletes-Skript benutzen.

Siehe auch
SQL-Beispiel

Sie können dieses Ereignis einsetzen, um Zeilen zu verarbeiten, die während des Uploads in einer Zwischentabelle gelöscht wurden. Sie können die Zeilen in der Basistabelle mit Zeilen in der Zwischentabelle vergleichen und entscheiden, was mit der gelöschten Zeile geschehen soll.

Der folgende Aufruf einer MobiLink-Systemprozedur weist die gespeicherte Prozedur EndUploadDeletesLeads dem Ereignis end_upload_deletes zu.

CALL ml_add_table_script(
  'version1',
  'Leads',
  'end_upload_deletes',
  'call EndUploadDeletesLeads()');

Die folgende SQL-Anweisung erstellt die gespeicherte Prozedur EndUploadDeletes.

CREATE PROCEDURE EndUploadDeletesLeads ( )
Begin
  FOR names AS curs CURSOR FOR
  SELECT LeadID
    FROM Leads
    WHERE LeadID NOT IN (SELECT LeadID FROM T_Leads);
  DO
   CALL decide_what_to_do( LeadID );
  END FOR;
end
Java-Beispiel

Der folgende Aufruf einer MobiLink-Systemprozedur registriert eine Java-Methode namens endUploadDeletes als das Skript für das Tabellenereignis end_upload_deletes, wenn die Skriptversion ver1 synchronisiert wird.

CALL ml_add_java_table_script(
   'ver1',
   'table1',
   'end_upload_deletes',
   'ExamplePackage.ExampleClass.endUploadDeletes' )

Im Folgenden sehen Sie die Java-Beispielmethode endUploadDeletes. Sie ruft eine Java-Methode auf, die die Datenbank verändert.

public String endUploadDeletes( 
  String user,
  String table )
  throws java.sql.SQLException {
  processUploadedDeletes( _syncConn, table );
  return ( null );
}
.NET-Beispiel

Der folgende Aufruf einer MobiLink-Systemprozedur registriert eine .NET-Methode namens EndUploadDeletes als das Skript für das Tabellenereignis end_upload_deletes, wenn die Skriptversion ver1 und die Tabelle table1 synchronisiert werden.

CALL ml_add_dnet_table_script(
   'ver1',
   'table1',
   'end_upload_deletes',
   'TestScripts.Test.EndUploadDeletes'
)

Im Folgenden sehen Sie die .NET-Beispielmethode EndUploadDeletes. Sie ruft eine .NET-Methode auf, die die Datenbank verändert.

public string EndUploadDeletes( 
  string user, 
  string table ) {
  processUploadedDeletes( _syncConn, table );
  return ( null );
}