ストアドプロシージャ内に次のスクリプトがあります
IF EXISTS(SELECT * FROM dbo.MBLPosition WHERE PositionGKey = @i_PositionGKey) RETURN
-- DO SOME STUFF HERE
INSERT dbo.MBLPosition..
テーブル (単一レコード) にデータを挿入しています。まず、既に存在するかどうかを確認してから、何らかの処理を行ってレコードを挿入します。
処理には時間がかかる場合があります。たとえば、2 秒ほどかかります。その後に電話がかかってきて、制約例外が発生することがあります。まれですが、起こります。これを回避したいと同時に、レコードが既に存在する場合はこの処理を実行したくありません。余分な作業をせずに例外を回避できるように、このコードを構成する最善の方法は何ですか?
これは、常に入ってくるレコードを含む大きなテーブルです。重複が入ってきて処理時間があまりかからないため、重複を除外する最善の方法は何ですか?