UPDATE table1
SET col = 1
WHERE col2 = 'xyz'
UPDATE a
SET col = 1
FROM table1 a
WHERE col2 = 'xyz'
どちらが優先されますか?これらの2つの単純なSQL Update文には違いがありますか?
私が知ることができる1つの違いは、2番目のステートメントが 'FROM'ステートメントの近くにWITH NO LOCKを使用できることでした。しかし、更新ステートメントの近くで使用すると、最初のステートメントと同じエラーメッセージが返されます。
INSERT、UPDATE、またはDELETEステートメントのターゲットテーブルでは、NOLOCKおよびREADUNCOMMITTEDロックヒントは許可されません。
本当にありがとうございました
具体的な例で違いはありません。これまでの回答では、結合の可能性について言及しています。ただし、結合の結果が、ターゲット表の行が他の表の*複数行に結合され、更新が他の表の値に基づいていることを意味する場合、結合は危険である可能性があることを警告する必要があります。実際に更新を実行するために使用される行は決定的ではありません。 –