tblCombined に一意のインデックスを設定しています。cyDate、dtlNr、seq というフィールドに順に設定されます。
tblDailyResults という別のテーブル (ステージング テーブル) があります。tblCombined とまったく同じフィールドがありますが、インデックスはありません。毎日、フィードからこのステージング テーブルにレコードを受け取ります。
私がやりたいのは、必要に応じて「キャッチ」をセットアップして、一意のインデックスに違反する重複レコードがエラーにならないようにすることです。むしろ、挿入されません。ステージング テーブルに残ります (その後、そのことを通知するアラートを送信し、そこから管理できます)。
これは私が試したことです:
Insert Into tblCombined
(
cyDate
,dtlNr
,seq
,chCode
,opCode
,nrCode
)
Select
cyDate
,dtlNr
,seq
,chCode
,opCode
,nrCode
From tblDailyResults
Where Not Exists (Select cyDate ,dtlNr ,seq From tblCombined)
しかし、これは機能していないようです。いくつかのレコードをテストしました - フィールドを既に挿入されているものから変更しましたが、重複していないレコードはまだ除外されています。「存在しない」を使用するのは初めてなので、正しく使用していない可能性があります。
Where Not In も試しましたが、複数の列ではうまくいかないようです。
どんな提案でも大歓迎です。ありがとう!