none
Select registros última hora RRS feed

  • Pergunta

  • Bom dia pessoal !
    Para agilizar nossa ferramenta de BI, criei um select que traz as informações de todas NF faturadas e suas respectivas data/hora.
    Porém, fica executando manualmente não está nos meus planos.
    Eu pensei em criar uma tabela e ir incrementando ela num job de hora em hora.
    Porém, não consegui deixar o script para que pegue apenas os registros da última hora.
    Por exemplo, vou programa-lo para executar de hora em hora, então, se ele as 16:00, ele deverá pegar apenas os registros que foram feitos das 15:00 às 16:00 deste dia,utilizando uma comparação com o SysDateTime mesmo.
    Abaixo o script que utilizo hoje:

    SELECT CONVERT(DATETIME,E.DATE,120) DATA, 
    (SELECT right('0' + rtrim(convert(char(2), E.TIME / (60 * 60))), 2) + ':' + 
    right('0' + rtrim(convert(char(2), (E.TIME / 60) % 60)), 2) + ':' + 
    right('0' + rtrim(convert(char(2), E.TIME % 60)),2))HORARIO, E.TIME,
    F.INVOICEID NF, 
    S.DIMENSION3_ FINALIDADE, 
    F.TOTALAMOUNT VALOR_NF	
    FROM EFDOCUMENT_BR E, FISCALDOCJOUR_BR F, SALESTABLE S
    WHERE
    F.INVENTSITEID = S.INVENTSITEID AND 
    F.DATAAREAID = S.DATAAREAID AND
    F.TRANSREFID = S.SALESID AND
    E.INVENTSITEID  = F.INVENTSITEID AND
    E.REFRECID = F.RECID AND
    E.RETURNCODEDESCRIPTION IN('100 - Autorizado o uso da NF-e', '135 - Evento registrado e vinculado a NF-e', '656 - Rejeição: Consumo Indevido') 
      

    Abraços e obrigado !!!
    quarta-feira, 11 de junho de 2014 11:28

Respostas

Todas as Respostas

  • Deleted
    quarta-feira, 11 de junho de 2014 12:42
  • José, o campo data é do tipo DATE mesmo (2014-06-11 00:00:00.000), já o campo de hora, é do tipo INTEGER (29230 = 08:07:10).

    O SQL é o 2008 R2.

    Obrigado !!

    quarta-feira, 11 de junho de 2014 12:59
  • Deleted
    • Marcado como Resposta matfurrier quarta-feira, 11 de junho de 2014 13:25
    quarta-feira, 11 de junho de 2014 13:19
  • Deleted
    quarta-feira, 11 de junho de 2014 13:27
  • José, 

    PER-FEI-TO !!!

    Agora posso colocar para rodar o scrip de hora em hora, dando um insert na tabela.
    O job começará as 09:00h da manhã e o último será executado ÀS 20:00h.
    Vou acompanhar o dia de hoje e amanhã.
    Muito obrigado mesmo !!!

    Abraços !!

    quarta-feira, 11 de junho de 2014 13:28
  • Mateus, fique atento para utilizar a v3 do código 1. A versão inicial estava correta mas eu pensei que havia cometido um erro e modifiquei-a, gerando a v2. Depois percebi que a modificação é que estava errada e restaurei a versão original, mas como v3, ok?

    Se a parte de horário da coluna DATE estiver sempre zerada, o código 1 funciona. Mas se houver qualquer valor diferente de zero, então é necessário alterar o código.


        José Diz     Belo Horizonte, MG - Brasil


    José, bom dia !!

    Como ficou excelente este script para nossos acompanhamentos de vendas, o pessoal quer extrapolar...
    Eu até tentei aqui mas não deu certo...
    Preciso editar o script, para que ele seja executado de meia em meia hora...
    É possível editando este script ?

    Abraços !

    Mateus

    quinta-feira, 28 de agosto de 2014 11:30