SQL Server - Actualizar unicamente registros modificados

 
Vista:
sin imagen de perfil

Actualizar unicamente registros modificados

Publicado por Juan Carlos (3 intervenciones) el 07/07/2016 17:47:33
Hola.

Les agradecería mucho si me pudiera orientar como actualizar los registros de una base de datos a partir de otra... lo que quiero hacer es lo siguiente:

en mi BD1 tabla 1 es donde actualizo los precios y posteriormente con un UPDATE quiero que se actualicen en la BD2 tabla 2 ejemplo:

BD1 Tabla1
campo1: clave
campo2: descripción
campo3: precio

al ejecutar la consulta de la BD1 tabla 1 que es donde actualizo me arroja una lista de precios obviamente:
campo1|campo2|campo3
1 prod1 350
2 prod2 400 Actualizado
3 prod3 50
......etc
Son 750 productos con diferentes precios en la BD1 Tabla 1 ya que esta es la base.
El detalle esta en que la BD2 Tabla 2 los precios no son iguales a los de la BD1 Tabla 1
campo1|campo2|campo3
1 prod1 320
2 prod2 400 Actualizado
3 prod3 57
Lo que necesito hacer es: de los 750 productos de la BD1 Tabla 1 me piden actualizar 20 al "azar".... pero que solo esos 20 se actualicen en la BD2 Tabla 2 respetando los precios que no se pidan actualizar y queden como en el ejemplo que describo arriba.

Espero y me haya explicado bien. Las 2 BD tienen precios diferentes pero luego nos piden actualizar ciertos productos y respetar los demás como están.

Hice un Query que actualiza los precios pero me Actualiza los precios de la BD1 Tabla 1 a la BD2 Tabla 2 todos iguales y es lo que no debe hacer.

Espero me puedan ayudar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Isaias
Val: 3.250
Oro
Ha mantenido su posición en SQL Server (en relación al último mes)
Gráfica de SQL Server

Actualizar unicamente registros modificados

Publicado por Isaias (4558 intervenciones) el 07/07/2016 21:48:21
¿Es SQL SERVER?, ¿Que version - edicion?, ¿Como estas actualizando?

Si fuera SQL Server 2008 o superior, podrias implementar el servicio de CHANGE DATA CAPTURE (CDC) en tus tablas y mediante Integracion de servicios, aplicar los cambios (cada x tiempo).

Si ambas bases estan en tu misma LAN, puedes utilizar MERGE para llevar a cabo la accion.

El problema es: desconozco las preguntas que te hago al principio....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar