2016-03-11 171 views
0

在我們的系統中,某些存儲過程將插入語句和更新語句捆綁在一起。他們首先執行插入語句。如果執行後唯一字段存在重複錯誤,則它們將執行更新語句。它們旨在用於未知數據是否在我們的數據庫中的情況。插入語句和更新語句包

下面是一個這樣的查詢

INSERT INTO table1 
(...) 
VALUES 
    (...) 
ON DUPLICATE KEY UPDATE 
    ... 

在的情況下的結構,我只需要更新一個表中的字段。當然,我可以使用這樣的存儲過程。然而,我想知道我是否應該創建一個新的更新查詢來更新數據,或者不是以一種好的做法。

任何輸入?

回答

0

如果我明白你在說什麼,那麼如果插入語句返回錯誤,那麼你正在調用更新語句?

如果是這樣,那麼你可能可以使用EXISTS來檢查更新前你想要更新的字段是否在數據庫中。

https://msdn.microsoft.com/en-us/library/ms188336.aspx

+0

謝謝。但那不是我的問題。 – TeeKai