sql-serversql-server-2005sql-updatecross-apply

Using cross apply in update statement


Is it possible to use the cross apply clause in the from part of an update statement, in SQL Server 2005?


Solution

  • You where right, Albert. I made some tests and found that it's possible, indeed. The use is the same as in a SELECT statement. For example:

    UPDATE 
        st
    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 ...