Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Pessoal, estou com uma difuculdade de usar um comando simples o "Concatenate" sempre me retorna erro.
Penso que essa concatenação deveria ser automatica por conta das colunas e quantidade serem iguais, mas como não foi automática resolvi forçar com o comando, mas sempre me retorna erro na hora de carregar a segunda consulta.
No meu script de gerar o QVD tenho essa consulta:
SLO_UNION_A:
LOAD
"AGREEMENT_ID",
"SLO_ID",
"NAME",
"DESCRICAO";
SQL select AGREEMENT_ID, SLO_ID, NAME, CI as DESCRICAO
FROM SMhom.dbo.SLOAVAIL1M1;
STORE SLO_UNION_A into ..\QVD\SLO_UNION_A.qvd(qvd);
DROP Table SLO_UNION_A;
CONCATENATE
SLO_UNION_B:
LOAD
"AGREEMENT_ID",
"SLO_ID",
"NAME",
"DESCRICAO";
SQL select AGREEMENT_ID, SLO_ID, NAME, SERVICE_AREA as DESCRICAO
FROM SMhom.dbo.SLOM1;
STORE SLO_UNION_B into ..\QVD\SLO_UNION_B.qvd(qvd);
DROP Table SLO_UNION_B;
Obrigado.
Boa tarde, Joao Eduardo Vasconcelos.
Qual é a mensagem de erro?
De qualquer forma, observar que antes do comando CONCATENATE, a tabela tem um comando Drop.
[]s,
Jonas Melo.
Boa tarde Joao Eduardo, tudo bem?
De acordo com o Jonas e reforçando também:
1 - Particularmente eu prefiro usar o CONCATENATE passando o parâmetro nome da tabela para reforçar;
CONCATENATE (SLO_UNION_A)
LOAD stmt [...]
2 - Se você vai concatenar a tabela SLO_UNION_B com a tabela SLO_UNION_A, seria o mesmo de concatenar a tabela de baixo com a de cima, não sendo necessária a adição de nome, como representado no seu script, devendo ficar apenas o comando CONCATENATE (SLO_UNION_A) e o LOAD statement logo appós;
3 - Favor verificar também os DROP statements, se possível colocá-los no fim do script ou onde tenha certeza de que não afetarão na construção das tabelas.
RESOLVIDO!
Galera eu retirei os DROPs e não resolveu, ficou dando mensagem não encontrada. "porque não sei ainda"
Resolvi da seguinte forma, carreguei as tabelas normalmente através dos scritps e ao carregar os QVD deveria gerar a concatenação automática, mas não gerava porque eu estava colocando uma função QUALIFY *; dessa forma o nome da tabela estava na frente do nome da coluna (tabela.coluna) e não identificava como sendo nomes iguais.
Resolvi colocando antes da carga do QVD a função UNQUALIFY assim gerando a concatenação automática.
UNQUALIFY *;
Directory;
LOAD AGREEMENT_ID ,
AGREEMENT_ID as %AGREEMENT_ID,
AGREEMENT_ID & SLO_ID as SLO_ID_COMPOSTA,
SLO_ID ,
NAME,
DESCRICAO
FROM
[..\qvd\SLO_UNION_B.qvd]
(qvd);
LOAD AGREEMENT_ID,
AGREEMENT_ID as %AGREEMENT_ID,
AGREEMENT_ID & SLO_ID as SLO_ID_COMPOSTA,
SLO_ID ,
NAME ,
DESCRICAO
FROM
[..\qvd\SLO_UNION_A.qvd]
(qvd);