以下步骤显示了在 Mapping 节点 中限制选定行数目的对等方法:
$db:select_1.BROKER50.JDOE.RESOLVEASSESSOR.ASSESSORTYPE = 'WBI' or $db:select_1.BROKER50.JDOE. RESOLVEASSESSOR.ASSESSORTYPE = $source/tns:msg_tagIA81CONF/AssessorType
$db:select 条目检索所有合格的行,因此可能会检索到多个行。缺省情况下,该选择被处理为重复,由“电子表格”窗格中 $db:select 下面的“for”行来表示。
配置 $db:select 后,通过将数据库列从“源”窗格拖动到“目标”窗格中的消息元素,可以从数据库填充目标消息。“源”窗格中数据库列和“目标”窗格中元素间的线表明了映射。此映射的条目也以 Xpath 格式显示在“电子表格”窗格中。三角图标会显示在已映射对象旁边的“源”窗格和“目标”窗格中。
缺省情况下,$db:select 条目伴有一个“for”行,该行在选择结果集处迭代。 确保您的“for”行处于映射的正确位置。映射的行为取决于“for”行在“电子表格”窗格中的位置。例如,如果 $db:select 语句的结果匹配数据库中的 5 行,且“for”行处于“电子表格”窗格中 $target 条目的上方,映射节点则输出 5 条完整的消息。如果“for”行处于消息体内,则会生成一条消息且消息体内有 5 个重复元素。
一个映射可包含与 $db:select 条目相关联的多个“for”行,这些行执行单次数据库选择,并在结果处多次迭代。例如,可将多个“for”行用于条件映射,其中个别“for”行与“condition”或“else”结合使用。
例如 fn:sum 或 fn:count。
数据库表连接
Table Column Row 1 Row 2 Row 3 Row 4 ORDER PRODUCT_ID 456 456 345 123 QUANTITY 100 200 300 400 PRODUCT PART_NUMBER 123 456 789 012 PART_NAME pen pencil paperclip glue PRICE 0.25 0.15 0.02 0.99
$db:select.MY_DB.SCHEMA1.ORDER.PRODUCT_ID=$db:select.MY_DB.SCHEMA2.PRODUCRT.PART_NUMBER
Row 1 Row 2 Row 3 PRODUCT_ID 456 456 123 QUANTITY 100 200 400 PART_NUMBER 456 456 123 PART_NAME pencil pencil pen PRICE 0.15 0.15 0.25然后您可使用“for”行迭代整个结果集,方式与单个表的结果相同。