Um mit dem upload_update-Skript Konflikte festzustellen, müssen Sie alle Spalten in die WHERE-Klausel einbeziehen.
UPDATE table-name SET col1 = {ml r.col1}, col2 = {ml r. col2 } ... WHERE pk1 = {ml o.pk1} AND pk2 = {ml o.pk2} ... AND col1 = {ml o.col1} AND col2 = {ml o.col2} ...
In dieser Anweisung sind col1, col2 usw. Nicht-Primärschlüsselspalten, wohingegen pk1, pk2 usw. Primärschlüsselspalten sind. Die an die zweite Gruppe von Nicht-Primärschlüsselspalten (o.) übergebenen Werte sind das Pre-Image (oder alte Werte) der aktualisierten Zeile. Die WHERE-Klausel vergleicht die alten Werte, die aus der entfernten Datenbank eingelesen wurden, mit den aktuellen Werten in der konsolidierten Datenbank. Wenn die Werte nicht übereinstimmen, wird die Aktualisierung ignoriert, sodass die bereits in der konsolidierten Datenbank enthaltenen Werte erhalten bleiben.
Siehe upload_update (Tabellenereignis).
Das Skript upload_ wird nur dann zur Konflikterkennung verwendet, wenn die Ereignisse upload_fetch oder upload_fetch_column_conflict keinen Konflikt erkannt haben.
Der MobiLink-Server kann nicht genau bestimmen, wie viele Zeilen von einem Upload-Skript geändert wurden. Aus diesem Grund ist die Konflikterkennung mit dem Skript upload_update veraltet.
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |