UPDATE 语句在被复制时可能不会完全与输入数据库时一样。以下情形介绍了 UPDATE 语句是如何被复制的:
如果某 UPDATE 语句具有更新给定远程用户的预订中的行的作用,则将其作为 UPDATE 语句发送给该用户。
如果某 UPDATE 语句具有从给定远程用户的预订中删除行的作用,则将其作为 DELETE 语句发送给该用户。
如果某 UPDATE 语句具有向给定远程用户的预订中添加行的作用,则将其作为 INSERT 语句发送给该用户。
为了演示如何复制 UPDATE 语句,以下示例将对用户 Ann、Marc 和 ManagerSteve 使用一个统一数据库和三个远程数据库。
在统一数据库上,有一个名为 cons 的发布,该发布是用以下语句创建的:
CREATE PUBLICATION "cons"."p1" ( TABLE "DBA"."customers" ( "ID", "Rep") SUBSCRIBE BY repid ); |
Ann 和 Marc 通过他们各自的 Rep 列值预订 cons 发布。而 ManagerSteve 使用 Ann 和 Marc 的 Rep 列值预订 cons 发布。以下语句将使三个用户预订发布 cons:
CREATE SUBSCRIPTION TO "cons"."p1"( 'Ann' ) FOR "Ann"; CREATE SUBSCRIPTION TO "cons"."p1"( 'Marc' ) FOR "Marc"; CREATE SUBSCRIPTION TO "cons"."p1"( 'Ann' ) FOR "ManagerSteve"; CREATE SUBSCRIPTION TO "cons"."p1"( 'Marc' ) FOR "ManagerSteve"; |
在统一数据库上,将某行的 Rep 值从 Marc 更改为 Ann 的 UPDATE 语句被复制到:
Marc(作为 DELETE 语句)。
Ann(作为 INSERT 语句)。
ManagerSteve(作为 UPDATE 语句)。
这种在预订者之间重新指派行的做法有时称为地域调整,因为它是销售人员自动应用程序的常见功能,在这种功能中客户被定期重新指派给销售代表。
![]() |
使用DocCommentXchange讨论此页。
|
版权 © 2013, SAP 股份公司或其关联公司. - SAP Sybase SQL Anywhere 16.0 |