減少 SQL INSERT 操作中的重複記錄
許多資料庫系統提供了防止重複記錄插入表中的機制。在這種情況下,您需要防止在名為「Delegates」的表中重複插入,該表包含以下欄位:
您正在使用以下查詢執行插入:
<code class="sql">INSERT INTO Delegates ([MemNo],[FromYr],[ToYr]) values(@MemNo, @FromYr,@ToYr)</code>
但是,這種方法並不能防止這種方法並不能防止這種方法並不能防止這種方法並不能防止使用者錯誤插入同一成員和同一年的重複記錄。
使用MERGE 的解決方案
為了避免重複插入,您可以使用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>
此語句完成以下任務:
以上是如何使用MERGE防止SQL INSERT操作中出現重複記錄?的詳細內容。更多資訊請關注PHP中文網其他相關文章!