使用 PASSTHROUGH 语句和 PASSTHROUGH STOP 语句启动和停止直通模式。直通会话是指在 PASSTHROUGH 语句之间输入的语句。在直通会话中输入的语句:
被检查是否存在语法错误。
被在统一数据库上执行,除非您提供 ONLY 关键字。当指定了 ONLY 时,这些语句将被发送到远程数据库,而不在统一数据库上加以执行。
以下语句将启动一个直通会话,该会话将语句传递给一个由两个指定预订者组成的列表,而不在当前数据库中执行:
PASSTHROUGH ONLY FOR userid_1, userid_2; |
被传递给已标识的预订者数据库。直通语句会按照它们在事务日志中的记录顺序与常规的复制消息一起依次复制。
被在预订者数据库上执行。
以下语句将启动一个直通会话,该会话将语句传递给预订 pubname 发布的所有用户:
PASSTHROUGH ONLY FOR SUBSCRIPTION TO [owner].pubname statement1; |
直通模式为累积式。以下示例中,statement_1 被发送到 user_1,而 statement_2 被发送到 user_1 和 user_2。
PASSTHROUGH ONLY FOR user_1 ; statement_1; PASSTHROUGH ONLY FOR user_2 ; statement_2; |
以下语句为所有远程用户停止直通会话:
PASSTHROUGH STOP; |
直通模式通常用于发送数据修改语句。在这种情况下,所复制的 DML 语句在直通之前使用 before 模式,在直通之后使用 after 模式。
以下示例同时在远程数据库和统一数据库中删除同一个表。
-- Drop a table on the remote database -- and at the consolidated database PASSTHROUGH TO Joe_Remote; DROP TABLE CrucialData; PASSTHROUGH STOP; |
以下示例只在远程数据库中删除一个表。
-- Drop a table on the remote database only PASSTHROUGH ONLY TO Joe_Remote; DROP TABLE CrucialData; PASSTHROUGH STOP; |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |