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

SQL Anywhere 12.0.0 (中文) » MobiLink - 服务器管理 » 使用 MobiLink 服务器技术 » 同步技术 » 冲突处理 » 检测冲突

 

使用 upload_update 脚本检测冲突(不建议使用)

要使用 upload_update 脚本检测冲突,请在 WHERE 子句中包括所有列:

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

在此语句中,col1、col2 等是非主键列,而 pk1、pk2 等是主键列。传递到第二组非主键列 (o.) 的值是更新行的前映像(或旧值)。WHERE 子句将比较从远程数据库上载的旧值与统一数据库中的当前值。如果两个值不匹配,将忽略更新,保留统一数据库中已有的值。

请参见upload_update 表事件

仅当使用 upload_fetch 或 upload_fetch_column_conflict 没有检测到冲突时才使用 upload_update 脚本检测冲突。

小心

MobiLink 服务器无法准确地评估出上载脚本更改了多少行。因此,不建议使用 upload_update 脚本进行冲突检测。

 第 1 种情形(不建议使用)
 第 2 种情形