请教下sql server xml的问题

Nye.JN 2018-01-18 01:14:45
update T
set column.modify('
insert if(exists('')) then ……
')

为啥会提示xpath 不存在exists 这个fn?我查看文档是存在的,empty()可用。
...全文
633 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Nye.JN 2018-01-19
  • 打赏
  • 举报
回复
先感谢下版主,我描述的可能不够清楚。 是关于我使用if判断的时候,这个empty()方法可行,但是exists() 方法会报错。 我看提示应该是xquery那个方向,我也查过xquery是存在exists()这个方法。所以好奇
引用 1 楼 z10843087 的回复:
USE AdventureWorks; GO DECLARE @myDoc xml; SET @myDoc = '<Root> <Location LocationID="10" LaborHours="1.2" > <step>Manufacturing step 1 at this work center</step> <step>Manufacturing step 2 at this work center</step> </Location> </Root>'; SELECT @myDoc SET @myDoc.modify(' insert if (/Root/Location[@LocationID=10]) then attribute MachineHours {".5"} else () as first into (/Root/Location[@LocationID=10])[1] '); SELECT @myDoc; GO 参考官网的案例
Nye.JN 2018-01-19
  • 打赏
  • 举报
回复
先感谢下版主,我描述的可能不够清楚。 是关于我使用if判断的时候,这个empty()方法可行,但是exists() 方法会报错。 我看提示应该是xquery那个方向,我也查过xquery是存在exists()这个方法。所以好奇
OwenZeng_DBA 2018-01-18
  • 打赏
  • 举报
回复
USE AdventureWorks; GO DECLARE @myDoc xml; SET @myDoc = '<Root> <Location LocationID="10" LaborHours="1.2" > <step>Manufacturing step 1 at this work center</step> <step>Manufacturing step 2 at this work center</step> </Location> </Root>'; SELECT @myDoc SET @myDoc.modify(' insert if (/Root/Location[@LocationID=10]) then attribute MachineHours {".5"} else () as first into (/Root/Location[@LocationID=10])[1] '); SELECT @myDoc; GO 参考官网的案例

588

社区成员

发帖
与我相关
我的任务
社区描述
提出问题
其他 技术论坛(原bbs)
社区管理员
  • community_281
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧