Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Amigos,
Estou montando uma rotina de atualização de coordenadas, onde apenas as linhas que tiverem a [data de alteração] maior que a [data] da ultima carga serão lidas no script, para buscar novas coordendas.
Isso deve impedir que o script busque novamete coordenadas de clientes que ja possuem.
A pricipio eu fiz assim.
where data_alteração > date(reloadtime())
Alguem consegue pensar em uma alternativa com base nessa idéia?
obrigado.
Exato.
Para você utilizar a data atual, utilize a função NOW().
Apenas para complementar, agora que eu vi que você apagou o outro tópico.
Para atender o que você esta tentando fazer, basta ler a sua tabela e criar uma tabela temporaria para buscar a maior data de alteração dela através da função PEEK().
Em Seguida utilize esta função na condição where da sua nova tabela, por exemplo:
temp_max_alteracao:
LOAD MAX(DATA_ALTERACAO) AS MAIOR_DATA
FROM sua_tabela_antiga.qvd (qvd);
Leia a tabela antiga e concatena com a tabela nova:
TABELA_FINAL:
LOAD *
FROM sua_tabela_antiga.qvd (qvd);
CONCATENATE
LOAD *
FROM sua_tabela_nova
WHERE data_alteracao > peek(MAIOR_DATA);
Abraços
retorna a data da ultima execução do reload do seu arquivo qvw.
Estou montando um exemplo pra seu outro tópico tbm, já posto la.
abraços
Certo, entao quer dizer que a função reloadtime() só vai mudar quando finalizar a nova carga?
Exato.
Para você utilizar a data atual, utilize a função NOW().
Apenas para complementar, agora que eu vi que você apagou o outro tópico.
Para atender o que você esta tentando fazer, basta ler a sua tabela e criar uma tabela temporaria para buscar a maior data de alteração dela através da função PEEK().
Em Seguida utilize esta função na condição where da sua nova tabela, por exemplo:
temp_max_alteracao:
LOAD MAX(DATA_ALTERACAO) AS MAIOR_DATA
FROM sua_tabela_antiga.qvd (qvd);
Leia a tabela antiga e concatena com a tabela nova:
TABELA_FINAL:
LOAD *
FROM sua_tabela_antiga.qvd (qvd);
CONCATENATE
LOAD *
FROM sua_tabela_nova
WHERE data_alteracao > peek(MAIOR_DATA);
Abraços
certo, entao acho que vai servir.
Voce esta montando um exemplo pra qual questão?
Você tinha aberto um tópico e depois apagou.
Queria confirmar pq eu apaguei bem rapido. mas blz cara, vou testar essa soluçao que voce postou,
qualquer duvida eu posto aqui. muito obrigado!!!
[Arrumei o tópico]
Olá pessoal,
Apenas para colaborar com recursos, cabe muito bem o uso de DISTINCT ou EXISTS!
Kaauan, na sua base de endereços, é bem provável que exista endereços repetidos, talvez não, mas é comum existir, então, o ideal seria você criar uma tabela com os endereços únicos e uma chave que os relacione a base original, os clientes por exemplo, essa mesma chave pode ser usada na carga com o NOT EXISTS, para carregar somente os endereços "novos", assim, você garante que cada endereço é buscado somente uma vez, e mesmo que vários clientes tenham o mesmo endereço, não será feita várias buscas do mesmo endereço, sem prejudicar a metrica no mapa.
Espero ter ajudado, abraço.