Я пытаюсь выполнить xquery в базе данных Sedna, чтобы условно обновить контейнер, как показано ниже.
if(fn:exists(doc("blog")/entries/entry[@active="1" and @id="1"]/comments)) then
UPDATE insert <comment active="1"><name>sunil.s</name><email>[email protected]</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>[email protected]</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
вместо insert
.
Может кто-нибудь, пожалуйста, помогите мне понять проблему с запросом и возможным решением?