目录

Search

  1. 前言
  2. 转换简介
  3. 转换端口
  4. 转换缓存
  5. 地址验证器转换
  6. 汇总器转换
  7. 关联转换
  8. 离散记录异常转换
  9. 大小写转换器转换
  10. 分类器转换
  11. 比较转换
  12. 合并转换
  13. 数据屏蔽转换
  14. 数据处理器转换
  15. 判定转换
  16. 重复记录异常转换
  17. 表达式转换
  18. 筛选器转换
  19. 层次结构到关系转换
  20. Java 转换
  21. Java 转换 API 引用
  22. Java 表达式
  23. 联接器转换
  24. 键生成器转换
  25. 标签创建器转换
  26. 查找转换
  27. 查找缓存
  28. 动态查找缓存
  29. 匹配转换
  30. 字段分析中的匹配转换
  31. 标识分析中的匹配转换
  32. 规范器转换
  33. 合并转换
  34. 解析器转换
  35. Python 转换
  36. 等级转换
  37. 读取转换
  38. 关系到层次结构转换
  39. REST Web 服务使用者转换
  40. 路由器转换
  41. 序列生成器转换
  42. 排序器转换
  43. SQL 转换
  44. 标准创建器转换
  45. 联合转换
  46. 更新策略转换
  47. Web 服务使用者转换
  48. 解析 Web 服务 SOAP 消息
  49. 生成 Web 服务 SOAP 消息
  50. 加权平均值转换
  51. 窗口转换
  52. 写入转换
  53. 转换分隔符

Developer 转换指南

Developer 转换指南

SQL 替代和动态查找缓存

SQL 替代和动态查找缓存

可以在查找查询中添加 WHERE 子句,以筛选用来构建缓存的记录,并在数据库表中对未缓存的查找执行一次查找。 但是,集成服务在动态缓存中插入行时不使用 WHERE 子句。
使用动态缓存在查找转换中添加 WHERE 子句时,在查找转换之前连接筛选器转换以筛选您不想插入到缓存或目标表中的行。 如果您不包括筛选器转换,可能会在缓存和目标表之间获得不一致的结果。
例如,配置查找转换以按 EMP_ID 在员工表、EMP、匹配行上执行动态查找。 定义以下查找 SQL 替代:
SELECT EMP_ID, EMP_STATUS FROM EMP ORDER BY EMP_ID, EMP_STATUS WHERE EMP_STATUS = 4
首次运行
映射
时,集成服务基于查找 SQL 替代从目标表构建查找缓存。 缓存中的所有行均匹配 WHERE 子句中的条件,
EMP_STATUS = 4
例如,集成服务读取符合您指定的查找条件的源行,但是 EMP_STATUS 的值为 2。 虽然目标可能包含 EMP_STATUS 为 2 的行,但是集成服务因 SQL 替代仍未在缓存中找到该行。 集成服务将行插入缓存并将行传递到目标表。 当集成服务将此行插入目标表时,如果该行已存在则可能会获得不一致的结果。 此外,并不是缓存中的所有行都匹配 SQL 替代中 WHERE 子句中的条件。
要验证您是否仅将行插入匹配 WHERE 子句的缓存,请在查找转换之前添加筛选器转换并将筛选器条件定义为查找 SQL 替代中 WHERE 子句中的条件。
对于上述示例,在筛选器转换中输入以下筛选器条件,在 SQL 替代中输入 WHERE 子句。
EMP_STATUS = 4