Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Usando cross apply na instrução de atualização


Você está certo, Albert. Fiz alguns testes e descobri que é possível, sim. O uso é o mesmo que em um SELECT declaração. Por exemplo:
UPDATE some_table
SET some_row = A.another_row,
    some_row2 = A.another_row/2
FROM some_table st
  CROSS APPLY
    (SELECT TOP 1 another_row FROM another_table at WHERE at.shared_id=st.shared_id) AS A
WHERE ...