2016-04-14 49 views
0

我正在尝试使用TRIGGER进行更新。错误触发器。多部分标识符“...”无法绑定

我有2个数据库(eBob和Sbmx_taslado),他们共享信息,材料和密度。

我想要做的是,当您更改材料的密度(数据库Sbmx_traslado)时,会更新(eBob数据库)。

的问题是,该表进行更新,其中材料可以重复在不同的容器一样,它向我发送以下错误:

(请原谅我的英文,使用谷歌)

enter image description here

Use Sbmx_traslado 
GO 

CREATE TRIGGER 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] 
+0

这是一个开始:这个错误意味着你在声明中未使用别名。 – logixologist

+1

不要张贴文字的截图。用文字写出错误(英文)。 – Blorgbeard

+0

2个表格现在如何连接。 – logixologist

回答

1

您在WHERE子句中引用不在FROM中的表。尝试这个。

Use Sbmx_traslado 
GO 

CREATE TRIGGER 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 [eBob].[dbo].[tblVessel] 
JOIN [Sbmx_traslado].[dbo].[Sbmx_Contenedores] ON [eBob].[dbo].[tblVessel].[Contents] = [Sbmx_traslado].[dbo].[Sbmx_Contenedores].[Ingrediente] 
+0

我得到同样的问题: 更新的值更改多行 –

相关问题