在组级别过滤数据

预订级别、组级别或用户级别的水平过滤使用 SQL 子句来从源数据源选择数据。SQL 子句的内容由高级预订定义笔记本的“行”页(对于 DB2 DataPropagator 预订)和“高级复制预订”笔记本的“行”页(对于 JDBC 预订)控制。

过程

  1. 创建或编辑 JDBC 预订或 DataPropagator 预订。
  2. 单击定义预订。“定义复制预订”窗口打开。
  3. 单击高级。对于 DB2 DataPropagator 预订,“高级预订定义”笔记本打开。对于 JDBC 预订,“高级复制预订”笔记本打开。
  4. 在“行”页上,在个别用户的行子集框中输入 SQL 子句。不要在 SQL 子句开头输入 WHERE。WHERE 会自动追加至框中输入的子句。不要使用 SQL 子句中的值,而是插入参数。例如,要根据表示 city 列的参数 :fcity 的值和表示 id 列的参数 :fid 的值过滤 VNPERSON 表,输入:
    city=':fcity' and id=':fid'
    
    其中 :fcity 是表示 city 列值的参数,而 :fid 是表示 id 列值的参数。
  5. 完成并关闭“创建预订”笔记本。
  6. 对想要过滤的用户组打开“创建或编辑组”笔记本。必须将想要使用过滤器参数创建的预订指定给正在编辑的组。
  7. 在“组”笔记本的“数据过滤器”页上,单击添加
  8. 参数名称字段中输入 :fcity
  9. 缺省值字段中输入缺省值。例如:
    Los Angeles, CA 90061
    
  10. 单击确定
  11. 再次单击添加来添加第二个参数。
  12. 参数名称字段中输入 :fid.
  13. 单击确定
  14. 完成并关闭“组”笔记本。
  15. 对想要过滤的用户打开“创建或编辑用户”笔记本。必须将该用户指定给带有过滤器参数的组。
  16. 在“组”笔记本的“数据过滤器”页上,选择 :fid 参数并单击更改
  17. 用户覆盖字段中输入一个值。例如,要对此用户覆盖 :fid 的值,并将其设置为 900000401,输入:

    900000401
    
  18. 单击确定
注意:
只会发生从服务器到客户机的水平过滤。如果客户机插入不会包括在过滤器中的行,则将把该行插入到源中。

相关任务

相关参考