如何在 SQL 查询中调用 SQL 函数

How Do I Call SQL Function inside SQL Query

我有 2 个 OrientDB 问题。

  1. 例如我有一个名为 getAll

    的函数

    "SELECT FROM V WHERE name =:name"

我希望通过简单的 SQL 查询检索结果 有点喜欢他的

SELECT type FROM (getAll("Test"))

我怎样才能做到这一点?

  1. 是否可以 运行 new SQL SELECT query with new parameters based on previous queries? 例如

    SELECT $C 来自 V LET $A = (SELECT FROM V WHERE name = 'Test1') , $B = (SELECT FROM V WHERE type = 'Type1') , $C = (SELECT FROM V WHERE type = $B and name = $A)

这个案例可行,但需要很多时间(据我所知,这是因为它 运行 涉及 V 的所有内容)

提前致谢。

要调用函数试试这个:

SELECT getAll("Test")

有了这个你只检索 RID,如果你想要所有的属性试试这个:

SELECT expand(getAll("Test"))

如果您只想检索类型 属性,您可以通过两种方式进行:

  1. select type from(SELECT expand(getAll("Test")))
  2. 以这种方式修改你的功能SELECT type FROM V WHERE name = :name

对于你的第二个问题,你已经很接近了,我只是稍微修改了一下:

SELECT $C FROM V 
LET $A = (SELECT FROM V WHERE name = 'Test1') , 
$B = (SELECT FROM V WHERE type = 'Type1') , 
$C = (SELECT FROM V WHERE type contains $B.type and name contains $A.name)

希望对您有所帮助

此致