0
我這是指作爲一個修補程序工作,所以,這只是爲了運行一個時間來修改數據庫中的一些條目的SQL腳本:防止多個插入與SQL補丁腳本
INSERT INTO Table1 ...
INSERT INTO Table2 ...
etc...
如果客戶服務(或者正在應用該補丁的人)將意外地多次運行該腳本,那麼會在某些表中存在重複的條目,這會產生不希望的效果。
我的想法是隻在每個INSERT
之前有一個DELETE
聲明,這樣如果即將插入的條目已經存在,它將被刪除,避免重複。如果輸入不在那裏,則DELETE
語句對數據庫不起作用。
有沒有更好的方法來處理這個問題,如果是的話,爲什麼建議的方法被認爲更好或更合適?由於腳本只能運行一次,因此性能不是問題。
請注意,我不是問是否存在另一種方法。我問,鑑於CONTEXT(腳本是一個補丁,它只能運行一次,以前是否),上述解決方案是否合適,還是有一個原因,我應該避免使用我的方法並以另一種方式解決問題?
可能重複[SQL服務器插入,如果不存在(http://stackoverflow.com/questions/20971680/sql-server-insert-if-not-存在) –
您正在使用哪些DBMS? Postgres的?甲骨文? –
我正在使用SQL Server – Mike