sql server - update - Actualizar una tabla desde una variable de tabla
update tabla temporal sql server (1)
Tengo una consulta SQL que declara una tabla dentro de ella.
Declare @t table(tagname nvarchar(50), Value float, timestamp datetime)
Luego inserto una fecha en esta tabla. Una vez hecho esto, quiero actualizar otra tabla (ya creada) de @t
.
Algo como:
UPDATE Optimiser_tagData
SET Optimiser_tagData.value = @t.value
where Optimiser_tagData.tagName = @t.tagName
Obviamente, esto no funciona y recibo este error:
Debe declarar la variable escalar "@t"
Estoy seguro de que me estoy perdiendo algo muy fácil, pero no puedo entenderlo.
Su declaración de actualización debe ser como a continuación. Debe aplicar la unión entre Table variable
y Optimiser_tagData
. Y debe ejecutar la declaración de actualización como un todo (declaración de variables de tabla, etc.)
UPDATE Optimiser
SET Optimiser.value = t.value
from Optimiser_tagData Optimiser
join @t t
on Optimiser.tagName = t.tagName