variable update una tipo tabla recorrer insertar ejemplos dinamica datos crear comando actualizar sql-server tsql sql-server-2012

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