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