Bases de Datos - Actualizar datos entre 2 bases de datos

   
Vista:

Actualizar datos entre 2 bases de datos

Publicado por Carlos (1 intervención) el 14/04/2016 19:31:37
Buen día a toda la comunidad
Tengo el siguiente problema:
Estoy tratando de hacer un UPDATE por medio de un Disparador.
Tengo 2 Bases de datos (eBob y Sbmx_taslado) en la cual comparten informacion del material y su densidad.

Lo que estoy tratando de hacer es que cuando cambie la densidad de un material (base de datos Sbmx_traslado)
esta se actualice (Base de datos eBob); el problema es que en la tabla donde se actualiza el material puede repetirse el mismo en diferente contenedor, lo cual me manda el siguiente error:


sqltraslado

el código que estoy usando seria el siguiente:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
USE [Sbmx_traslado]
GO
/****** Object:  Trigger [dbo].[DensidadMaterial2]    Script Date: 14/04/2016 11:30:25 a. m. ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
 
ALTER TRIGGER [dbo].[DensidadMaterial2]
ON 	[Sbmx_traslado].[dbo].[Sbmx_Contenedores]
AFTER UPDATE
AS
UPDATE [eBob].[dbo].[tblVessel]
SET [eBob].[dbo].[tblVessel].[ProductDensityWeight] = [Sbmx_traslado].[dbo].[Sbmx_Contenedores].[Densidad]
FROM [Sbmx_traslado].[dbo].[Sbmx_Contenedores]
WHERE [eBob].[dbo].[tblVessel].[Contents] = [Sbmx_traslado].[dbo].[Sbmx_Contenedores].[Ingrediente]

les agradesco cualquier solucion que pudieran brindarme.
saludos
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

Actualizar datos entre 2 bases de datos

Publicado por Isaias (3 intervenciones) el 19/04/2016 00:17:53
Si hablamos de SQL Server, no se en otros motores, los TRIGGERS fueron diseñados para controlar y salvaguardar la integridad referencial, no para construir logica del negocio.

Ahora bien, quien deberia actualizar la otra base (otra tabla), deberia ser el store procedure que hace la modifiacion.

Por lo poco que veo, el trigger no hace mencion a ninguna de las 2 tablas temporales que crea en una accion de INSERT, DELETE o UPDATE. (Inserted, Deleted)
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