Essas etapas mostram o método equivalente de restringir o número de linhas selecionadas em um Nó Mapping:
$db:select_1.BROKER50.JDOE.RESOLVEASSESSOR.ASSESSORTYPE = 'WBI' or $db:select_1.BROKER50.JDOE. RESOLVEASSESSOR.ASSESSORTYPE = $source/tns:msg_tagIA81CONF/AssessorType
Uma entrada $db:select recupera todas as linhas de qualificação, portanto, é possível que mais de uma linha seja recuperada. Por padrão, a seleção é tratada como de repetição, o que é indicado pela linha 'for' abaixo de $db:select na área de janela Planilha.
Depois de ter configurado $db:select, preencha a mensagem de destino a partir do banco de dados, arrastando a coluna do banco de dados da Área de Janela Origem para o elemento de mensagem na área de janela Destino. O mapeamento é indicado por uma linha entre a coluna do banco de dados na área de janela Origem e o elemento na área de janela Destino. Uma entrada para esse mapa no formato Xpath também aparece na área de janela Planilha. Ícones triangulares aparecem nas áreas de janela Origem e Destino ao lado de objetos que foram mapeados.
Por padrão, uma entrada $db:select é acompanhada por uma linha 'for' que itera sobre o conjunto de resultados select. Assegure que sua linha 'for' esteja na posição correta para seu mapeamento. O comportamento do mapa é determinado pela posição da linha 'for' na área de janela Planilha. Por exemplo, se os resultados da instrução $db:select tiver correspondido a 5 linhas do banco de dados e a linha 'for' estiver localizada sobre a entrada $target na área de janela Planilha, então, 5 mensagens completas são colocadas na saída pelo nó de mapeamento. Se a linha 'for' estiver posicionada no corpo da mensagem, então, uma mensagem é gerada com 5 elementos de repetição no corpo da mensagem.
Um mapeamento pode conter várias linhas 'for' associadas a uma entrada $db:select que executam um único select do banco de dados e iteram sobre os resultados várias vezes. Por exemplo, várias linhas 'for' podem ser utilizadas em mapeamentos condicionais, em que uma linha 'for' individual é utilizada com uma 'condition' ou 'else'.
Por exemplo: fn:sum ou fn:count.
Junção de Tabela de Banco de Dados
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.25Você pode, então, utilizar a linha 'for' para iterar pelo conjunto de resultados da mesma forma que os resultados de uma única tabela.