首頁  >  文章  >  資料庫  >  如何在「委託」表中插入資料期間防止重複值?

如何在「委託」表中插入資料期間防止重複值?

Susan Sarandon
Susan Sarandon原創
2024-11-01 08:08:30889瀏覽

How to Prevent Duplicate Values During Data Insertion in a

在資料插入期間防止重複值

問題陳述:

在名為「的表中代表”,其中包含唯一的成員資訊以及範圍欄位“FromYr”和“ToYr”,使用使用者輸入進行資料插入可能會導致同一年的成員重複。

解:

為了解決此問題並確保資料完整性,我們可以利用 MERGE 語句。 MERGE 語句允許我們執行條件插入,僅當表中尚不存在記錄時才更新記錄。

實作:

<code class="sql">MERGE INTO Delegates D
USING (values(@MemNo, @FromYr,@ToYr)) X ([MemNo],[FromYr],[ToYr])
ON (insert unique key join)
WHEN NOT MATCHED BY TARGET THEN
INSERT ([MemNo],[FromYr],[ToYr]))
VALUES (X.[MemNo],X.[FromYr],X.[ToYr]);</code>

說明:

  • USING:
  • 此子句定義要比較的來源資料(「X」)針對目標表。
  • ON:
  • 連接條件指定在合併操作期間應符合行的條件。在這種情況下,唯一鍵連接(例如,MemberNo 和年份)用於識別何時已存在行。
  • WHEN NOT MATCHED BY TARGET THEN:
  • 此語句定義了下列操作:如果在目標表中沒有找到符合的行,則採取該動作。在這種情況下,將執行 INSERT 以新增行。

以上是如何在「委託」表中插入資料期間防止重複值?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn