为已复制数据创建过滤器

此任务是“创建 DataPropagator 预订”这一大型任务的一部分。当完成这些步骤后,返回到创建 DataPropagator 预订

过程

  1. 在“定义复制预订”窗口中,选择想要对其定义列过滤或行过滤的表。
  2. 单击高级。“高级预订定义”笔记本打开。
  3. 可选:定义用来选择要包括在预订中的个别行的 WHERE 子句。即使所有列都出现在副本中,您也可以决定只让某些行成为预订的一部分。
    1. 转至“高级预订定义”窗口的“行”页。
    2. 需要的所有行字段中,输入一个 WHERE 子句,该子句定义您希望在预订中出现的行选择。只能使用在“步骤 1”中选择的表。

      例如,假定您想要探访护士只能在 PATIENTS 表中看到 JOBCODE 列的值为 VNURSE 的数据行。您可输入以下 WHERE 子句:

      JOBCODE='VNURSE'
      

      一定不能在子句开头使用 WHERE 关键字。

      您可单击示例来显示样本 WHERE 子句。

    3. 个别用户的行子集字段中,可输入类似于 SQL WHERE 子句的子句,以进一步限制个别用户可以看到的行。确保不要在子句开头输入“WHERE”。可以使用参数,它的值随用户的不同而有所不同。有关在组级别或用户级别定义过滤器的详细信息,请参阅在预订级别过滤数据

      例如,假定您想要用户只能看到与其自己的职位代码相关的数据。定义用来引用对每个个别用户定义的数据过滤器值的变量,而不是对整个预订的 JOBCODE 参数的值进行硬编码:

      JOBCODE=':JOB'
      

      在个别用户的数据过滤器中,您可将 :JOB 参数设置为每个用户的职位代码。有关对个别用户过滤数据的更多信息,请参阅过滤对用户可用的数据在预订级别过滤数据

    4. 单击确定以关闭“高级预订定义”窗口。
注意:
在同步期间对用户设备上的 DB2 Everyplace 表中的一行所作的一系列更改会作为一个累积更改通知到 Sync Server。因此,对同一主键所作的 DELETE 操作以及接着的 INSERT 操作会作为一个 UPDATE 操作通知到 SyncServer(如果进行这两个操作时未插入同步的话)。如果在进行这两个操作时插入了同步, 则这两个操作所作的更改会分别通知到 Sync Server。如果预订未在源表和用户表间传送所有列,这就可能导致不一致, 因为 UPDATE 操作会保留未预订的列中的当前值,而 INSERT 操作会将未预订的列设置为缺省值。

相关概念

相关任务