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) » SQL Remote » SQL Remote-Replikationsplanung » SQL Remote-Replikation planen und einrichten » Aktualisierungskonflikte

 

Benutzerdefinierte Konfliktlösung mit Trigger

Die benutzerdefinierte Konfliktlösung kann unterschiedliche Formen annehmen. In einigen Anwendungen kann die Konfliktlösung Folgendes bewirken:

Die benutzerdefinierte Konfliktlösung erfordert, dass Sie RESOLVE UPDATE-Trigger schreiben.

Den RESOLVE UPDATE-Konfliktlösungstrigger verwenden

RESOLVE UPDATE-Trigger lösen aus, bevor die jeweilige Zeile aktualisiert wird. Die Syntax für einen RESOLVE UPDATE-Trigger lautet:

CREATE TRIGGER Triggername
RESOLVE UPDATE
OF Spaltenname ON Tabellenname 
[ REFERENCING [ OLD AS alter_Wert ]
   [ NEW AS neuer_Wert ]
     [ REMOTE AS Remote_Wert ] ] 
FOR EACH ROW 
BEGIN
   ... 
END

Die REFERENCING-Klausel ermöglicht den Zugriff auf die Werte in der Zeile der zu aktualisierenden Tabelle (OLD), auf die Werte, die mit der Zeile aktualisiert werden (NEW), und auf die Zeilen, die entsprechend der VERIFY-Klausel (REMOTE) vorhanden sein sollten. Nur Spalten in der VERIFY-Klausel können in der REMOTE AS-Klausel referenziert werden; andere Spalten geben den Fehler column not found zurück.

Die CURRENT REMOTE USER-Spezialkonstante verwenden

CURRENT REMOTE USER wird von DBREMOTE gesetzt, wenn die undokumentierte REMOTE USER-Anweisung ausgeführt wird. Der Wert ist NULL, außer bei Verbindungen von DBREMOTE.

CURRENT REMOTE USER kann in RESOLVE UPDATE-Trigger, die Reports über Konflikte in eine Tabelle platzieren, dazu verwendet werden, um den Benutzer zu identifizieren, der einen Konflikt erzeugt.

Siehe auch

Datumskonflikte auflösen
Inventurkonflikte lösen