0
我想了解如何簡化插入記錄,如果沒有存在或更新記錄,如果它已經存在的過程。我沒有使用存儲過程,儘管也許這是最有效的方式。Upsert - 高效更新或插入在VB.Net,SQL Server
這是必要的實際情況是將用戶偏好設置保存到我的SettingsUser表。
在MS Access中,我通常會拉DAO記錄集尋找指定的設置。如果記錄集恢復爲空,那麼我知道我需要添加一個新的記錄,我可以使用相同的記錄集對象。另一方面,如果它不是空的,我可以馬上更新設置的值。從理論上講,這只是兩個數據庫操作。
在.NET中這樣做的推薦方式是什麼?
通常情況下,您將在存儲過程中擁有該行的數據並確定該密鑰是否已存在的邏輯。 UPDATE WHERE ... if @@ ROWCOUNT = 0 INSERT。在具有合適的隔離級別和錯誤處理的交易當然。將記錄集拉到應用程序中以搜索重複數據只是我可以想象做到的最低效的方式。除非將其序列化爲JSON,否則轉換爲XML,然後進行搜索。 –