为什么我会看到return()
XQuery 查询的结尾?
例如
let $updateIssues:=
for $issue in fn:collection("InProgress_Audit")/ProductIssue
return local:UpdateIssue($issue)
return ()
为什么我会看到return()
XQuery 查询的结尾?
例如
let $updateIssues:=
for $issue in fn:collection("InProgress_Audit")/ProductIssue
return local:UpdateIssue($issue)
return ()
目前尚不完全清楚你的问题是什么。鉴于您制定它的方式,可能的答案包括:
也许你的意思是“为什么会在那里?” 可能的答案包括:
return
子句,由子句开始的 FLWOR 表达式let
是不完整的。()
)。return
XQuery 中的关键字可以写成看起来像一个函数调用很有趣。(作者也可能喜欢欺负新手和恶作剧;谨慎接近。)也许你的意思是“这个查询是什么意思,它是什么意思?” 可能的答案包括:
updateIssues
(其值由嵌套的 FLWOR 表达式给出),然后返回()
(即空序列)。updateIssues
由于 return 子句中没有任何内容取决于对优化很聪明,但不是必须的)。在您的示例中,return ()
表达式是表达式的主体let
。
对 的赋值$updateIssues
是遍历一堆节点,从对 的调用中local:UpdateIssue()
返回值,这些返回值的序列被用作变量值。
但是,然后,没有对变量做任何事情,该函数只是不向其调用者返回任何内容。
我担心优化处理器可能会选择放弃分配,因为分配的变量没有在任何地方使用,但是如果您获得预期的更新结果,您正在使用的处理器可能不会这样做。
因此,最后一行所做的只是在调用时始终返回一个空序列作为函数的值。
如果我正确地回答了您的问题,那么您要问的是return ()
.
return ()
意味着您要返回一个空白,因此简而言之,您只想将全局变量分配给某个东西,而不想从函数中返回任何东西。
否则,如果您想了解 Return 表达式的详细信息。它是 XQueryFLWOR
表达式的一部分。
作为一种函数式语言 XQuery 适用于函数。
For Loop、Let Loop、Where、Order By (FLWO) 都在内部(在 XQuery 引擎内部)充当函数。因此,它们都需要在调用后返回以指定需要它们的输出。
如果您需要有关 XQuery 函数的更多信息,可以参考官方文档。