1
我試圖編寫一個更新語句來檢查XML列中是否存在元素,如果它存在,則更新它的值。如果不是,則會將該值作爲新元素插入。根據存在更新或插入xml列中的元素
喜歡的東西:
UPDATE Table
SET xmlCol =
case
when xmlCol.exist('element') = 1
then xmlCol.modify('replace value of blah')
else xmlCol.modify('insert blah')
end
where whatever
我要對這個錯誤的方式?
感謝您對修改方法的說明。這是一個很好的選擇。你認爲什麼效率更高,或者將列選入變量,然後使用if語句來調用正確的更新語句? – Shawn 2013-03-26 19:56:40
先執行插入操作可能會更快,然後在整個表上執行替換操作,使WHERE子句脫離並節省一個存在檢查的開銷。我想你必須編寫一個程序才能使用你的IF THEN ELSE邏輯。 – Andrew 2013-03-26 20:08:35
我最終使用if語句,主要是出於個人偏好,但這是一個完全可以接受的答案。 – Shawn 2013-03-27 15:29:42