none
Generar una consulta automáticamente de determinada fechas. RRS feed

  • Pregunta

  • Hola buen dia a toda esta gran comunidad, quisiera ejecutar un Query o SP para ejecutar la siguiente consulta. Es el pase de información de un servidor de base de datos a otro, pero se hace dia con dia, Quisiera saber si hay algún procedimiento a seguir para hacerlo automático. 

    Dejo la consulta que se ejecuta manual dia con dia.

    use KIKOSCONG

    INSERT INTO  DBO.chdventa_TKG(sucursal,nombre,turno,articulo,observ,familia,cantidad,precio,impuesto,usufecha,subtotal,impuestos,total)
    SELECT 
            T.Sucursal, 
            S.nombre, 
    T.turno, 
    P.articulo, 
    P.observ,
            F.descrip,
    SUM(P.cantidad) AS cantidad,
    P.precio,
    SUM(P.impuesto) AS ImpuestoPart,
            T.FechaSucursal,
    SUM(P.cantidad*P.precio) as subtotal, 
    SUM(P.cantidad*P.precio*(P.impuesto/100)) AS Impuestos,
    SUM((P.cantidad*P.precio)+(P.cantidad*P.precio*(P.impuesto/100))) AS Total 
     
    FROM    [192.168.100.81].[KIKOSCON].[dbo].chdventaTK T with (nolock) INNER JOIN
             [192.168.100.81].[KIKOSCON].[dbo].chdsucursales  S with (nolock) ON T.Sucursal = S.sucursal INNER JOIN
             [192.168.100.81].[KIKOSCON].[dbo].chdventaTKPart P with (nolock) ON T.UUID = P.UUID INNER JOIN
             [192.168.100.81].[KIKOSCON].[dbo].prods A with (nolock) ON P.articulo = A.articulo INNER JOIN
    [192.168.100.81].[KIKOSCON].[dbo].chdffsubfam2 F with (nolock) ON A.subfam2 = F.subfam2
    WHERE  (T.Sucursal BETWEEN 's101' AND 's504') 
    AND (T.FechaSucursal BETWEEN '03-27-2019' AND '03-28-2019') AND (T.turno BETWEEN '1' AND '10')
    GROUP BY T.Sucursal,S.nombre,T.FechaSucursal, T.turno, F.descrip, P.articulo,P.observ, P.precio 
    viernes, 29 de marzo de 2019 16:40

Todas las respuestas

  • Bueno, para que se ejecute cada día podrías simplemente meterla en un Job del Agente, y añadirle al Job un Schedule que la ejecute todos los días a determinada hora.

    Si dentro de la consulta hay que poner la fecha del día (o un cálculo a partir de la fecha del día) puedes usar getdate(). Por ejemplo:

    ... AND (T.FechaSucursal BETWEEN getdate() AND dateadd(dd, 1, getdate())) ...

    eso significa "entre hoy y mañana". si lo quieres "entre ayer y hoy" sería así:

    ... AND (T.FechaSucursal BETWEEN dateadd(dd, -1, getdate()) AND getdate()) ...

    Recuerda que el GetDate incluye hora minutos y segundos en la fecha. Si necesitas truncarlo, puedes usar cast(getdate() as date), entre otras muchas otras cosas.

    viernes, 29 de marzo de 2019 16:48