Olá, preciso colocar o código abaixo para ser executado automaticamente no servidor postgres, qual melhor forma de fazer isso? Diretamente na query no Delphi funciona perfeitamente, mas não sei como fazer isso direto no banco, preciso que seja executado a cada 3 minutos. Tentei fazer via view, mas no select da view a consulta demora mais de 10 segundos devido ao grande numero de registros da tabela monitoramento_posicoes que tem mais de 20 milhões de linhas.
deletefrom temp_posicoes;
insert into temp_posicoes
SELECT v.placa,
m.nome,
cr.razaosocial as remetente,
cd.razaosocial as destinatario,
vi.dtprevisaodescarga as previsaodescarga,
ms.nome AS status,
vo.nome AS operacao,
v.status AS codstatus,
v.viagem,(((mp.data::character varying(11)::text ||' - '::text)|| mp.posicao::text))::character varying(250) AS posicao,
mp.latitude,
mp.longitude,
mp.velocidade,
mp.temperatura
FROM motorista m
inner JOIN veiculos v ON v.placa=m.placacavalo
inner JOIN monitoramento_posicoes mp ON mp.idrastreador = v.idrastreador
inner JOIN monitoramento_status ms ON ms.codigo = v.status
inner JOIN veiculos_operacao_dedicada vo ON vo.codigo = v.operacaodedicada
left join viagens vi on vi.codigo=v.viagem
left join clifor cr on cr.codigo=vi.remetente
left join clifor cd on cd.codigo=vi.destinatario
WHERE m.status =0 AND mp.codigo =(( SELECT max(monitoramento_posicoes.codigo) AS expr1
FROM monitoramento_posicoes
WHERE monitoramento_posicoes.idrastreador = v.idrastreador))
Pergunta
galvao_em
Olá, preciso colocar o código abaixo para ser executado automaticamente no servidor postgres, qual melhor forma de fazer isso? Diretamente na query no Delphi funciona perfeitamente, mas não sei como fazer isso direto no banco, preciso que seja executado a cada 3 minutos. Tentei fazer via view, mas no select da view a consulta demora mais de 10 segundos devido ao grande numero de registros da tabela monitoramento_posicoes que tem mais de 20 milhões de linhas.
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.