gpt4 book ai didi

xml - XQuery获取和插入相同的时间

转载 作者:行者123 更新时间:2023-12-03 16:19:17 25 4
gpt4 key购买 nike

我正在检索数据并将其插入另一个文件。但是插入的数据未排序。以下是我要实现的示例。

let $n := <N>
<n>Lemon</n>
<n>Chickoo</n>
<n>Banana</n>
<n>Orange</n>
<n>Pineapple</n>
<n>Apple</n>
<n>Lemon</n>
<n>Chickoo</n>
<n>Banana</n>
</N>

for $x in distinct-values($n/n)
order by $x
return
insert node <n>{$x}</n> into doc('fruits')/fruit


fruits的输出如下-

    <fruit>
<n>Lemon</n>
<n>Chickoo</n>
<n>Banana</n>
<n>Orange</n>
<n>Pineapple</n>
<n>Apple</n>
</fruit>


它没有排序,尽管在检索时提到... !!!

最佳答案

这是BaseX如何评估order by FLWOR子句的错误,该子句现在记录在GitHub bug tracker上。 return子句在排序之前(而不是在后缀之后)进行求值,从而以错误的顺序添加更新。

一种解决方法是在另一个FLWOR表达式中进行排序:

for $x in
for $d in distinct-values($n/n)
order by $d
return $d
order by $x
return
insert node <n>{$x}</n> into doc('fruits')/fruit


另一个(可能更优雅)的解决方案是使用 insert nodes,该方法仅需评估一次:

insert nodes
for $x in distinct-values($n/n)
order by $x
return <n>{$x}</n>
into doc('fruits')/fruit

关于xml - XQuery获取和插入相同的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14373044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com