usar update example consulta con comando asignar sql sql-server sql-server-2008 sql-update alias

example - ¿Cómo escribir UPDATE SQL con alias de tabla en SQL Server 2008?



update sql server example (2)

Tengo un UPDATE SQL muy básico -

UPDATE HOLD_TABLE Q SET Q.TITLE = ''TEST'' WHERE Q.ID = 101;

Esta consulta funciona bien en Oracle , Derby , MySQL , pero falla en SQL Server 2008 con el siguiente error:

"Msg 102, nivel 15, estado 1, línea 1 Sintaxis incorrecta cerca de ''Q''."

Si elimino todas las apariciones del alias, "Q" de SQL, entonces funciona.

Pero necesito usar el alias.


La sintaxis para usar un alias en una declaración de actualización en SQL Server es la siguiente:

UPDATE Q SET Q.TITLE = ''TEST'' FROM HOLD_TABLE Q WHERE Q.ID = 101;

El alias no debería ser necesario aquí sin embargo.


Siempre puede tomar el enfoque CTE , (expresión tabular común).

;WITH updateCTE AS ( SELECT ID, TITLE FROM HOLD_TABLE WHERE ID = 101 ) UPDATE updateCTE SET TITLE = ''TEST'';