问题标签 [xquery-update]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2048 浏览

xquery - 使用 XQuery 更新自动递增?

Update是否XQuery支持自动递增属性,就像 ? 中的自动递增字段一样SQL

我正在BaseX用作我的数据库。

0 投票
2 回答
8111 浏览

xml - 使用 XQuery 更新删除节点

我正在尝试使用 xquery 从父节点中删除子节点。说,我的 xml 中有一个如下所示的条目:

如何删除子节点

我正在使用以下 xquery 代码:

这里传递的变量的值是: child_id = 37 parent_id = 36 doc_name = 正在使用的文档的名称

我猜想使用命名空间的方式或我在行中的 xquery 中使用的 xpath 表达式有问题:

请帮我解决这个问题。

0 投票
2 回答
10164 浏览

xquery - 如何使用 xquery 替换属性的值

我有一个xml文档如下

我正在尝试编写一个 xquery 来 1) 找到具有给定用户 ID 的用户 - 索尼 2) 将给定用户的“test”属性的值更改为“newvalue”。

我正在尝试以下操作:(其中 doc_name = xml 文档的名称,userid = sony)

我看到以下错误:[XUTY0008] 单个元素、文本、属性、注释或 pi 应作为替换目标。

我该如何解决?

0 投票
1 回答
3831 浏览

db2 - 替换 DB2 中 xml 列中 xml 属性的内容

我有一个 XML 文档保存在一个带有 XML 数据类型的 DB2 表中,我想更新一个节点的值。我试过这个:

(我尝试了几种变体,谷歌暗示它可以完成这项工作的所有内容)。但不幸的是,我只是收到错误消息。这里:

我究竟做错了什么?

0 投票
1 回答
304 浏览

xquery-update - Xquery 更新错误 (eXistdb)

当我试图将数据更新到数据库中时,我发现以下错误'XQuery 更新表达式不能应用于内存节点。'...如何解决这个问题任何人都可以帮助我...。

0 投票
1 回答
1247 浏览

sql - Xquery更新存储在表列中的xml节点的值

我使用DB2 express-c 版v9.1 数据库管理系统。

表名:学生
列名:课程

列中的xml:

我需要将<lecture-id>node 的<course>node的值更新为<id>node 为101,到1
我应该如何查询数据库以获得所需的结果。
任何帮助将不胜感激。

0 投票
1 回答
12877 浏览

sql-server - Sql Xquery如何替换更新查询中的文本

表命名为MasterTable

ID类型BIGINT,

Name类型(出于某些原因VARCHAR(200)存储类型数据)xml

Name包含结构为的数据

<en-US>SomeEnglishText</en-US><it-IT>SomeItalicText</it-IT>

当我需要表格时,那时我需要将其Update转换为然后有条件地更新/替换特定标签的部分,即。MasterVarcharxmlvalueen-US / it-IT

还有可能列中没有数据/标签Name所以我认为在插入数据时它会Insert清空表中的标签元素<en-US></en-US><it-IT></it-IT>,因此update查询必须处理标签元素中的空值en-US/it-IT

我正在尝试像以下更新查询一样进行操作。

运行查询时出现以下错误

非法使用 xml 数据类型方法“修改”。在这种情况下,需要一个非突变方法。

0 投票
1 回答
24807 浏览

xquery - XQuery 更新:插入或替换取决于节点是否存在不可能?

我正在尝试构建简单的 XML 数据库(在 BaseX 或 eXist-db 中),但我无法弄清楚如何修改文档中的值:

测试的内容很简单:

我正在尝试构建类似函数的东西,<pl>如果该元素不存在,它将插入元素,如果存在则替换它。但是 XQuery 给我带来了麻烦:

当我用 if-then-else 逻辑正面尝试时:

我得到错误Error: [XUDY0027] Replace target must not be empty。显然我很困惑,为什么在这两种情况下都会评估 else 部分,从而导致错误。当我清空其他部分时:

然后我得到Error: [XUST0001] If expression: no updating expression allowed.

当我尝试通过声明更新功能时,即使这样它也会报告错误:

Error: [XUST0001] If expression: no updating expression allowed.

我从 BaseX 6.5.1 包中得到了这些错误。

那么如果可能的话,我怎样才能以一种简单的方式修改值呢?如果我直接调用插入,则可能有多个相同值的元素。如果我调用replace它会在节点不存在时失败。如果我在插入/替换之前删除节点,那么我可以销毁我不想要的子节点。

在大多数 SQL 数据库中,这些都是非常简单的任务(如 MYSQL 的“替换”命令)。

0 投票
1 回答
399 浏览

javascript - 通过 XQIB 在 XQuery 中修改更新的 DOM

XQuery 的新手。我正在使用XQIB(“浏览器中的 XQuery”,即用 JavaScript 实现的 Zorba)在客户端处理它。

在下面的测试文档中,如果我单击第一个按钮“添加段落”,然后单击第二个按钮“使某些段落变粗”,它会按预期工作。但是,如果我单击“添加段落”两次(无论我是否单击中间的第二个按钮),第二个按钮将停止工作。

这可能是 XQIB 中的一个错误,还是 XQuery 的行为与我预期的不同?

0 投票
1 回答
809 浏览

replace - Sedna 中的 XQuery 更新替换

我正在为学校做一个小项目。这个项目要求我证明我能够使用各种 XML 处理技术。现在,在我的项目中,我使用 Sedna 数据库管理器来保存用户记录,并且我想通过 XQuery 更新其中一些用户记录(我使用 PHP API 通过提供的 PHP Api 将查询发送到数据库Sedna 开发团队)。想象一下,我有以下用户记录的数据库内容:

现在,我的目的是更新,例如,prosper 的用户记录。例如,在此记录中,我想更改他的名字和电子邮件,但保持其余部分不变。我曾尝试使用以下查询,但在发送查询后,由于某种我不明白的原因,它改变了用户记录的文档顺序(我认为它将用户记录的属性节点插入为子节点)。这是我用来更新用户的查询:

现在,这个查询给我的问题是,当我尝试在更新后询问用户的信息时,我依赖于更新前子节点的相同顺序,但是这个查询改变了顺序。

有没有足够熟练的人来帮助我解决这个问题?

我感谢你的时间。