• Bob Hovious 24601 (9/23/2009)


    update table1

    set val=a2.val

    from table2 a2

    where table1.id = a2.id

    Hey Bob... Jeff has posted about this type of update before. Basically, it's a time bomb waiting to explode, and when it does it will cause extreme slowness in your server.

    The first table in the from clause should always be the target table. Therefore, the correct way to write this is:

    update table1

    set val=a2.val

    from table1, table2 a2

    where table1.id = a2.id

    Wayne
    Microsoft Certified Master: SQL Server 2008
    Author - SQL Server T-SQL Recipes


    If you can't explain to another person how the code that you're copying from the internet works, then DON'T USE IT on a production system! After all, you will be the one supporting it!
    Links:
    For better assistance in answering your questions
    Performance Problems
    Common date/time routines
    Understanding and Using APPLY Part 1 & Part 2