Como se actualizan los datos de varias tablas relacionadas

08/01/2009 - 17:21 por manolito | Informe spam
Hola quisiera saber como se hace en sql server una consulta de actualizacion
como esta:

UPDATE (Tabla1 LEFT JOIN Tabla2 ON Tabla1.CodigoEmpresa =
Tabla2.CodigoEmpresa) LEFT JOIN (Tabla3 LEFT JOIN Tabla4 ON
Tabla3.CodigoEmpresa = Tabla4.CodigoEmpresa) ON Tabla2.CodigoEmpresa =
Tabla3.CodigoEmpresa SET Tabla1.StatusPresupuesto = 0,
Tabla2.StatusPresupuesto = 0, Tabla3.StatusPresupuesto = 0,
Tabla4.StatusPresupuesto = 0
WHERE (((Tabla1.StatusPresupuesto)=1) AND
((DateDiff("d",[Tabla1]![FechaEntrega],Date()))>90));

Gracias por todo y un saludo

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
08/01/2009 - 17:55 | Informe spam
Por separado:

UPDATE tabla1 SET statuspresupuesto=0 WHERE statuspresupuesto = 1 AND
datediff(d, fechaentrega, getdate()) > 90;

UPDATE tabla2 SET statuspresupuesto=0
FROM tabla1 t1 LEFT JOIN tabla2 t2 ON t1.codigoempresa=t2.codigoempresa
WHERE t1.statuspresupuesto = 1 AND datediff(d, t1.fechaentrega, getdate()) >
90;

UPDATE tabla3 SET statuspresupuesto=0
FROM tabla1 t1 LEFT JOIN tabla3 t2 ON t1.codigoempresa=t2.codigoempresa
WHERE t1.statuspresupuesto = 1 AND datediff(d, t1.fechaentrega, getdate()) >
90;

UPDATE tabla4 SET statuspresupuesto=0
FROM tabla1 t1 LEFT JOIN tabla4 t2 ON t1.codigoempresa=t2.codigoempresa
WHERE t1.statuspresupuesto = 1 AND datediff(d, t1.fechaentrega, getdate()) >
90;


Un saludo
-
www.navento.com
Servicios de Localización GPS


"manolito" wrote:

Hola quisiera saber como se hace en sql server una consulta de actualizacion
como esta:

UPDATE (Tabla1 LEFT JOIN Tabla2 ON Tabla1.CodigoEmpresa =
Tabla2.CodigoEmpresa) LEFT JOIN (Tabla3 LEFT JOIN Tabla4 ON
Tabla3.CodigoEmpresa = Tabla4.CodigoEmpresa) ON Tabla2.CodigoEmpresa =
Tabla3.CodigoEmpresa SET Tabla1.StatusPresupuesto = 0,
Tabla2.StatusPresupuesto = 0, Tabla3.StatusPresupuesto = 0,
Tabla4.StatusPresupuesto = 0
WHERE (((Tabla1.StatusPresupuesto)=1) AND
((DateDiff("d",[Tabla1]![FechaEntrega],Date()))>90));

Gracias por todo y un saludo



Respuesta Responder a este mensaje
#2 manolito
09/01/2009 - 08:46 | Informe spam
Gracias el unico detalle es que tengo que invertir el orden de las tablas
porque sino el where ya no se cumple.
Por otro lado he estado mirando el tema de hacerlo con un procedimiento
almacenado, pero no tengo claro como hacerlo ni como hacer que se
compruebe/ejecute cada dia el sp.


"Carlos Sacristan" escribió en
el mensaje news:

Por separado:

UPDATE tabla1 SET statuspresupuesto=0 WHERE statuspresupuesto = 1 AND
datediff(d, fechaentrega, getdate()) > 90;

UPDATE tabla2 SET statuspresupuesto=0
FROM tabla1 t1 LEFT JOIN tabla2 t2 ON t1.codigoempresa=t2.codigoempresa
WHERE t1.statuspresupuesto = 1 AND datediff(d, t1.fechaentrega, getdate())
>
90;

UPDATE tabla3 SET statuspresupuesto=0
FROM tabla1 t1 LEFT JOIN tabla3 t2 ON t1.codigoempresa=t2.codigoempresa
WHERE t1.statuspresupuesto = 1 AND datediff(d, t1.fechaentrega, getdate())
>
90;

UPDATE tabla4 SET statuspresupuesto=0
FROM tabla1 t1 LEFT JOIN tabla4 t2 ON t1.codigoempresa=t2.codigoempresa
WHERE t1.statuspresupuesto = 1 AND datediff(d, t1.fechaentrega, getdate())
>
90;


Un saludo
-
www.navento.com
Servicios de Localización GPS


"manolito" wrote:

Hola quisiera saber como se hace en sql server una consulta de
actualizacion
como esta:

UPDATE (Tabla1 LEFT JOIN Tabla2 ON Tabla1.CodigoEmpresa >> Tabla2.CodigoEmpresa) LEFT JOIN (Tabla3 LEFT JOIN Tabla4 ON
Tabla3.CodigoEmpresa = Tabla4.CodigoEmpresa) ON Tabla2.CodigoEmpresa >> Tabla3.CodigoEmpresa SET Tabla1.StatusPresupuesto = 0,
Tabla2.StatusPresupuesto = 0, Tabla3.StatusPresupuesto = 0,
Tabla4.StatusPresupuesto = 0
WHERE (((Tabla1.StatusPresupuesto)=1) AND
((DateDiff("d",[Tabla1]![FechaEntrega],Date()))>90));

Gracias por todo y un saludo



Respuesta Responder a este mensaje
#3 Carlos Sacristan
09/01/2009 - 10:21 | Informe spam
Crea un job que ejecute el script correspondiente (ya sea un sp o
directamente el código) y establece la periodicidad que consideres adecuada.


Un saludo
-
www.navento.com
Servicios de Localización GPS


"manolito" wrote:

Gracias el unico detalle es que tengo que invertir el orden de las tablas
porque sino el where ya no se cumple.
Por otro lado he estado mirando el tema de hacerlo con un procedimiento
almacenado, pero no tengo claro como hacerlo ni como hacer que se
compruebe/ejecute cada dia el sp.


"Carlos Sacristan" escribió en
el mensaje news:
>
> Por separado:
>
> UPDATE tabla1 SET statuspresupuesto=0 WHERE statuspresupuesto = 1 AND
> datediff(d, fechaentrega, getdate()) > 90;
>
> UPDATE tabla2 SET statuspresupuesto=0
> FROM tabla1 t1 LEFT JOIN tabla2 t2 ON t1.codigoempresa=t2.codigoempresa
> WHERE t1.statuspresupuesto = 1 AND datediff(d, t1.fechaentrega, getdate())
> >
> 90;
>
> UPDATE tabla3 SET statuspresupuesto=0
> FROM tabla1 t1 LEFT JOIN tabla3 t2 ON t1.codigoempresa=t2.codigoempresa
> WHERE t1.statuspresupuesto = 1 AND datediff(d, t1.fechaentrega, getdate())
> >
> 90;
>
> UPDATE tabla4 SET statuspresupuesto=0
> FROM tabla1 t1 LEFT JOIN tabla4 t2 ON t1.codigoempresa=t2.codigoempresa
> WHERE t1.statuspresupuesto = 1 AND datediff(d, t1.fechaentrega, getdate())
> >
> 90;
>
>
> Un saludo
> -
> www.navento.com
> Servicios de Localización GPS
>
>
> "manolito" wrote:
>
>> Hola quisiera saber como se hace en sql server una consulta de
>> actualizacion
>> como esta:
>>
>> UPDATE (Tabla1 LEFT JOIN Tabla2 ON Tabla1.CodigoEmpresa > >> Tabla2.CodigoEmpresa) LEFT JOIN (Tabla3 LEFT JOIN Tabla4 ON
>> Tabla3.CodigoEmpresa = Tabla4.CodigoEmpresa) ON Tabla2.CodigoEmpresa > >> Tabla3.CodigoEmpresa SET Tabla1.StatusPresupuesto = 0,
>> Tabla2.StatusPresupuesto = 0, Tabla3.StatusPresupuesto = 0,
>> Tabla4.StatusPresupuesto = 0
>> WHERE (((Tabla1.StatusPresupuesto)=1) AND
>> ((DateDiff("d",[Tabla1]![FechaEntrega],Date()))>90));
>>
>> Gracias por todo y un saludo
>>
>>
>>



Respuesta Responder a este mensaje
#4 manolito
14/01/2009 - 15:02 | Informe spam
Perdon por no contestar, gracias por todo me has ayudado mucho.

"Carlos Sacristan" escribió en
el mensaje news:

Crea un job que ejecute el script correspondiente (ya sea un sp o
directamente el código) y establece la periodicidad que consideres
adecuada.


Un saludo
-
www.navento.com
Servicios de Localización GPS


"manolito" wrote:

Gracias el unico detalle es que tengo que invertir el orden de las tablas
porque sino el where ya no se cumple.
Por otro lado he estado mirando el tema de hacerlo con un procedimiento
almacenado, pero no tengo claro como hacerlo ni como hacer que se
compruebe/ejecute cada dia el sp.


"Carlos Sacristan" escribió
en
el mensaje news:
>
> Por separado:
>
> UPDATE tabla1 SET statuspresupuesto=0 WHERE statuspresupuesto = 1 AND
> datediff(d, fechaentrega, getdate()) > 90;
>
> UPDATE tabla2 SET statuspresupuesto=0
> FROM tabla1 t1 LEFT JOIN tabla2 t2 ON t1.codigoempresa=t2.codigoempresa
> WHERE t1.statuspresupuesto = 1 AND datediff(d, t1.fechaentrega,
> getdate())
> >
> 90;
>
> UPDATE tabla3 SET statuspresupuesto=0
> FROM tabla1 t1 LEFT JOIN tabla3 t2 ON t1.codigoempresa=t2.codigoempresa
> WHERE t1.statuspresupuesto = 1 AND datediff(d, t1.fechaentrega,
> getdate())
> >
> 90;
>
> UPDATE tabla4 SET statuspresupuesto=0
> FROM tabla1 t1 LEFT JOIN tabla4 t2 ON t1.codigoempresa=t2.codigoempresa
> WHERE t1.statuspresupuesto = 1 AND datediff(d, t1.fechaentrega,
> getdate())
> >
> 90;
>
>
> Un saludo
> -
> www.navento.com
> Servicios de Localización GPS
>
>
> "manolito" wrote:
>
>> Hola quisiera saber como se hace en sql server una consulta de
>> actualizacion
>> como esta:
>>
>> UPDATE (Tabla1 LEFT JOIN Tabla2 ON Tabla1.CodigoEmpresa >> >> Tabla2.CodigoEmpresa) LEFT JOIN (Tabla3 LEFT JOIN Tabla4 ON
>> Tabla3.CodigoEmpresa = Tabla4.CodigoEmpresa) ON Tabla2.CodigoEmpresa >> >> Tabla3.CodigoEmpresa SET Tabla1.StatusPresupuesto = 0,
>> Tabla2.StatusPresupuesto = 0, Tabla3.StatusPresupuesto = 0,
>> Tabla4.StatusPresupuesto = 0
>> WHERE (((Tabla1.StatusPresupuesto)=1) AND
>> ((DateDiff("d",[Tabla1]![FechaEntrega],Date()))>90));
>>
>> Gracias por todo y un saludo
>>
>>
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida