Comando MERGE

Informações do conceito

Mesclar tabelas

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.

  • ON campos_chave use o campo ou os campos especificados

    Os campos são usados na ordem em que são listados.

  • ON ALL use todos os campos da tabela

    Os campos são usados na ordem em que aparecem no layout da tabela.

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.

  • PKEY campos_chave_primários use o campo ou os campos especificados

    Os campos são usados na ordem em que são listados.

  • PKEY ALL use todos os campos da tabela

    Os campos são usados na ordem em que aparecem no layout da tabela.

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.

  • SKEY campos_chave_secundários use o campo ou os campos especificados

    Os campos são usados na ordem em que são listados.

  • SKEY ALL use todos os campos da tabela

    Os campos são usados na ordem em que aparecem no layout da tabela.

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:

  • nome_tabela salva os resultados em uma tabela do Analytics

    Especifique nome_tabela como uma cadeia entre aspas com uma extensão de arquivo .FIL. For exemplo: TO "Saída.FIL"

    Por padrão, o arquivo de dados da tabela (.fil) é salvo na pasta que contém o projeto do Analytics.

    Use um caminho de arquivo absoluto ou relativo para salvar o arquivo de dados em uma pasta diferente já existente:

    • TO "C:\Saída.FIL"
    • TO "Resultados\Saída.FIL"

    Nota

    Os nomes de tabela são limitados a 64 caracteres alfanuméricos, sem contar a extensão .FIL. O nome pode incluir o caractere de sublinhado ( _ ) mas nenhum outro caractere especial e nenhum espaço. O nome não pode começar com um número.

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:

  • FIRST iniciar o processamento a partir do primeiro registro até alcançar o número de registros especificado
  • NEXT iniciar o processamento a partir do registro selecionado no momento até alcançar o número de registros especificado

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:

  • os mesmos campos
  • a mesma ordem de campos
  • os campos correspondentes têm o mesmo comprimento
  • os campos correspondentes têm o mesmo tipo de dados

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:

  • Se o campo-chave primário já estiver ordenado
  • Se você estiver mesclando duas tabelas usando um campo-chave comum indexado

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:

  • idioma código de idioma padrão ISO 639
  • país código de país padrão ISO 3166

    Se você não especificar um código de país, será usado o país padrão do idioma.

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.