データベース内の既存の行を更新するか、存在しない場合は挿入する必要がある、従来の挿入/更新シナリオを実行しようとしています。
件名に関する以前の質問を見つけましたが、それは私が使用していないストアド プロシージャを扱っています。もっと良い方法がない限り、単純な SQL SELECT、INSERT、および UPDATE ステートメントを使用したいと思います (MERGE ステートメントは SQL Server 2005 では使用できません)。
私の一般的な考えはこれだと思います:
If the row is found
update
else
insert
行の存在をチェックすることに関して、UPDATE または INSERT を呼び出す前に SELECT ステートメントを実行するのはどれくらいコストがかかりますか? それとも、UPDATE を試して、影響を受ける行の数を確認し、影響を受ける行が 0 の場合は INSERT を実行する方がよいでしょうか?