¿Cómo puedo actualizar desde un SELECT en SQL Server?
En SQL Server, es posible insertar
en una tabla utilizando una sentencia SELECT
:
INSERT INTO Table (col1, col2, col3)
SELECT col1, col2, col3
FROM other_table
WHERE sql = 'cool'
¿Es posible también actualizar mediante una SELECT
? Tengo una tabla temporal que contiene los valores y me gustaría actualizar otra tabla utilizando esos valores. Tal vez algo como esto:
UPDATE Table SET col1, col2
SELECT col1, col2
FROM other_table
WHERE sql = 'cool'
WHERE Table.id = other_table.id
3522
3
Yo modificaría la excelente respuesta de Robin por lo siguiente:
Sin una cláusula WHERE, afectará incluso a filas que no necesitan ser afectadas, lo que podría (posiblemente) causar un recálculo del índice o disparar triggers que realmente no deberían haberse disparado.
Una vía