Comando MERGE
Informações do conceito
Combina registros de duas tabelas ordenadas do Analytics com estrutura idêntica em uma nova tabela do Analytics que usa o mesmo critério de ordenação das tabelas originais.
Sintaxe
MERGE {{ON campos_chave|ON ALL <EXCLUDE nome_campo <...n>>}|{PKEY campos_chave_primários|PKEY ALL <EXCLUDE nome_campo <...n>>} {SKEY campos_chave_secundários|SKEY ALL <EXCLUDE nome_campo <...n>>}} <IF teste> TO nome_tabela <LOCAL> <OPEN> <WHILE teste> <FIRST intervalo|NEXT intervalo> <APPEND> <PRESORT> <ISOLOCALE código_local>
Nota
Somente campos de caracteres ou campos calculados de caracteres podem usados como campos-chave no MERGE.
Os campos-chave nas tabelas primária e secundária devem ser organizados em ordem crescente. Se um ou ambos os campos-chave não estiverem ordenados, ou estiverem ordenados em ordem decrescente, o comando MERGE falhará.
É possível usar PRESORT para ordenar o campo-chave primário. Se o campo secundário não estiver organizado, você deve primeiramente organizá-lo em uma operação de organização separada antes de realizar a fusão.
As tabelas primárias e secundárias podem ser indexadas em vez de ordenadas. Com tabelas grandes, o uso da indexação em vez da ordenação pode reduzir o tempo necessário para mesclar as tabelas.
Parâmetros
| Nome | Descrição |
|---|---|
| ON campos_chave | ON ALL |
Nota Você somente pode usar ON se os campos-chave correspondentes nas tabelas primária e secundária tiverem o mesmo nome. Se os campos correspondentes tiverem nomes diferentes ou se forem expressões em vez de campos físicos reais, você deverá usar PKEY e SKEY. Um ou mais campos-chave nas tabelas primária e secundárias.
|
| EXCLUDE nome_campo opcional |
Válido apenas ao mesclar usando ON ALL. O campo ou os campos a serem excluídos do comando. O EXCLUDE permite ajustar o ON ALL excluindo os campos especificados. O EXCLUDE deve estar logo após do ON ALL. Por exemplo: ON ALL EXCLUDE campo_1 campo_2 |
| PKEY campos_chave_primários | PKEY ALL |
Um ou mais campos-chave ou uma expressão na tabela primária.
|
| EXCLUDE nome_campo opcional |
Válido apenas ao mesclar usando PKEY ALL. O campo ou os campos a serem excluídos do comando. O EXCLUDE permite ajustar o PKEY ALL excluindo os campos especificados. O EXCLUDE deve estar logo após do PKEY ALL. Por exemplo: PKEY ALL EXCLUDE campo_1 campo_2 |
| SKEY campos_chave_secundários | SKEY ALL |
Um ou mais campos-chave ou uma expressão na tabela secundária.
|
| EXCLUDE nome_campo opcional |
Válido apenas ao mesclar usando SKEY ALL. O campo ou os campos a serem excluídos do comando. O EXCLUDE permite ajustar o SKEY ALL excluindo os campos especificados. O EXCLUDE deve estar logo após do SKEY ALL. Por exemplo: SKEY ALL EXCLUDE campo_1 campo_2 |
|
IF teste opcional |
Uma expressão condicional que deve ser verdadeira para processar cada registro. O comando é executado apenas nos registros que atendem à condição. Nota O parâmetro IF é avaliado apenas em relação aos registros restantes em uma tabela depois da aplicação dos parâmetros de escopo (WHILE, FIRST, NEXT). |
| TO nome_tabela |
A localização para onde enviar os resultados do comando:
|
|
LOCAL opcional |
Salva o arquivo de saída no mesmo local que o projeto do Analytics. Nota Aplicável apenas na execução de um comando em uma tabela de servidor com um campo de saída que é uma tabela do Analytics. O parâmetro LOCAL deve seguir imediatamente o parâmetro TO. |
|
OPEN opcional |
Abre a tabela criada pelo comando após a execução do comando. Válido apenas se o comando criar uma tabela de saída. |
|
WHILE teste opcional |
Uma expressão condicional que deve ser verdadeira para processar cada registro. O comando é executado até que a condição seja avaliada como falsa ou o fim da tabela seja alcançado. Nota Se você usar WHILE juntamente com FIRST ou NEXT, o processamento de registros será interrompido assim que um limite for alcançado. |
|
FIRST intervalo | NEXT intervalo opcional |
O número de registros a ser processado:
Use intervalo para especificar o número de registros a serem processados. Se você omitir FIRST e NEXT, todos os registros serão processados por padrão. |
|
APPEND opcional |
Anexa a saída do comando ao final de um arquivo existente, em vez de sobrescrevê-lo. Nota Você deve garantir que a estrutura da saída do comando e o arquivo existente são idênticos:
O Analytics anexa a saída a um arquivo existente, seja qual for sua estrutura. Se a estrutura da saída e do arquivo existente não corresponderem, o resultado poderá ser dados misturados, ausentes ou incorretos. |
|
PRESORT opcional |
Ordena a tabela primária pelo campo-chave antes de executar o comando. Nota Você não pode usar PRESORT dentro do comando GROUP. Omita PRESORT:
|
|
ISOLOCALE código_local opcional |
Nota Aplicável apenas à edição Unicode do Analytics. A localidade do sistema no formato idioma_país. Por exemplo, para usar francês canadense, insira fr_ca. Use os códigos a seguir:
Se você não usar ISOLOCALE, a localidade do sistema padrão será usada. |
Exemplos
Mesclar tabelas com nomes de campos chave idênticos
O exemplo a seguir mescla duas tabelas com nomes de campos-chave idênticos:
OPEN Funcionários_Localização_1 PRIMARY
OPEN Funcionários_Localização_2 SECONDARY
MERGE ON Sobrenome TO "TodosFuncionários" PRESORT
Mesclar tabelas com nomes de campos-chave diferentes
O exemplo a seguir mescla duas tabelas com nomes de campos-chave diferentes:
OPEN Funcionários_Localização_1 PRIMARY
OPEN Funcionários_Localização_2 SECONDARY
MERGE PKEY Sobrenome SKEY SNome TO "TodosFuncionários" PRESORT
Observações
Para obter mais informações sobre o funcionamento desse comando, consulte Mesclar tabelas.
Alternativas à mesclagem
Pode ser complicado realizar a mesclagem corretamente. Você pode conseguir o mesmo resultado anexando, ou extraindo e anexando, e, em seguida, ordenando.
Para obter mais informações, consulte Comando APPEND e Comando EXTRACT.
Se as duas tabelas de origem já estiverem ordenadas, a mesclagem será mais eficiente e poderá ser executada com mais rapidez.