Как будет выглядеть XQuery, чтобы проверить, существует ли узел, и если он все-таки выполняет оператор замены, если нет, то оператор вставки?
Вот что я имею в виду. Я хочу сохранить, прочитал ли пользователь важное сообщение в XML. Вот как будут выглядеть данные.
<usersettings>
<message haveRead="0" messageId="23" ></message>
<message haveRead="1" messageId="22" ></message>
</usersettings>
В основном этот XML говорит мне, что пользователь прочитал одно сообщение, в то время как другое сообщение все еще необходимо просмотреть / прочитать.
Я хочу объединить мою вставку / замену xquery в одно утверждение. Вот что я имел в виду.
UPDATE WebUsers SET UserSettings.modify('
declare default element namespace "http://www.test.com/test";
IF a node exists with the messageId
code to replace node with new update
ELSE
code to insert a new node with the provided variables
')
WHERE Id = @WebUserId