我正在尝试在 Sedna 数据库上执行 xquery 以有条件地更新容器,如下所示
if(fn:exists(doc("blog")/entries/entry[@active="1" and @id="1"]/comments)) then
UPDATE insert <comment active="1"><name>sunil.s</name><email>suni.l.s@gmail.com</email><desc>desbbh</desc></comment> into doc("blog")/entries/entry[@active="1" and @id="1"]/comments
else
UPDATE insert <comments><comment active="1"><name>sunil.s</name><email>sunil.s@gmail.com</email><desc>sdd</desc></comment></comments> into doc("blog")/entries/entry[@active="1" and @id="1"]
但是这个查询总是失败并出现以下错误
SEDNA 消息:ERROR XPST0003 如果表达式不是 A.1 EBNF 中定义的语法的有效实例,则为静态错误。详细信息:在 (2:8)、语法错误、意外插入、期待 else
该错误表明它正在预期else
而不是insert
在第二行中。
有人可以帮我理解查询的问题和可能的修复吗?