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 - Clientadministration » SQL Anywhere-Clients für MobiLink » SQL Anywhere-Clients » Daten publizieren

 

Nur einige Zeilen einer Tabelle publizieren

Wenn in einer Publikationsdefinition keine WHERE-Klausel festgelegt wurde, erfasst der Upload alle geänderten Zeilen in der Publikation. Sie können WHERE-Klauseln zu Artikeln in der Publikation hinzufügen, um die Zeilen für den Upload auf diejenigen zu begrenzen, die geändert wurden und den Suchbedingungen der WHERE-Klausel entsprechen.

Die Suchbedingung in der WHERE-Klausel kann nur Spalten referenzieren, die im Artikel enthalten sind. Außerdem ist es nicht möglich, folgende Elemente in der WHERE-Klausel zu verwenden:

  • Unterabfragen

  • Variable

  • Nicht-deterministische Funktionen

Diese Bedingungen werden nicht erzwungen, doch wenn gegen sie verstoßen wird, kann es zu unerwarteten Ergebnissen kommen. Fehler im Zusammenhang mit der WHERE-Klausel werden generiert, wenn die DML mit einer von der WHERE-Klausel referenzierten Tabelle ausgeführt wird, und nicht, wenn die Publikation definiert wird.

♦  So erstellen Sie eine Publikation mit einer WHERE-Klausel (Sybase Central im Admin-Modus)
  1. Verbinden Sie sich über das SQL Anywhere-Plug-In mit der entfernten Datenbank als Benutzer mit DBA-Datenbankberechtigung.

  2. Öffnen Sie den Ordner Publikationen.

  3. Wählen Sie Datei » Neu » Publikation.

  4. Geben Sie in das Feld Wie lautet der Name der neuen Publikation? einen Namen für die neue Publikation ein. Klicken Sie auf Weiter.

  5. Klicken Sie auf Weiter.

  6. In der Liste Verfügbare Tabellen wählen Sie eine Tabelle aus. Klicken Sie auf Hinzufügen.

  7. Klicken Sie auf Weiter.

  8. Klicken Sie auf Weiter.

  9. In der Artikelliste wählen Sie eine Tabelle aus und geben eine Suchbedingung in den Fensterausschnitt Der markierte Artikel hat folgende WHERE-Klausel ein.

  10. Klicken Sie auf Fertig stellen.

♦  So erstellen Sie eine Publikation mit einer WHERE-Klausel (SQL)
  1. Stellen Sie als DBA eine Verbindung mit der entfernten Datenbank her.

  2. Führen Sie die Anweisung CREATE PUBLICATION aus, die die Tabellen, die Sie in die Publikation aufnehmen wollen sowie eine WHERE-Bedingung enthält.

    Weitere Hinweise finden Sie unter CREATE PUBLICATION-Anweisung [MobiLink] [SQL Remote].

Beispiel

Im folgenden Beispiel wird eine Publikation erstellt, die die gesamte Tabelle employees und alle Zeilen in der Tabelle SalesOrder einbezieht, die nicht als archiviert markiert sind.

CREATE PUBLICATION main_publication ( 
TABLE Employees, 
TABLE SalesOrders
WHERE archived = 'N' 
);

Wenn der Wert der Spalte archived in der Tabelle von einem beliebigen anderen Wert in N geändert wird, wird bei der nächsten Synchronisation eine Löschanweisung an den MobiLink-Server gesendet. Wenn der Wert der Spalte archived umgekehrt von N in einen anderen Wert geändert wird, wird eine Einfügeanweisung gesendet. Die Aktualisierung der Spalte archived wird nicht an den MobiLink-Server gesendet.