如何在 SQL 查询中调用 SQL 函数
How Do I Call SQL Function inside SQL Query
我有 2 个 OrientDB 问题。
例如我有一个名为 getAll
的函数
"SELECT FROM V WHERE name =:name"
我希望通过简单的 SQL 查询检索结果
有点喜欢他的
SELECT type FROM (getAll("Test"))
我怎样才能做到这一点?
是否可以 运行 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"))
如果您只想检索类型 属性,您可以通过两种方式进行:
select type from(SELECT expand(getAll("Test")))
- 以这种方式修改你的功能
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)
希望对您有所帮助
此致
我有 2 个 OrientDB 问题。
例如我有一个名为 getAll
的函数"SELECT FROM V WHERE name =:name"
我希望通过简单的 SQL 查询检索结果 有点喜欢他的
SELECT type FROM (getAll("Test"))
我怎样才能做到这一点?
是否可以 运行 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"))
如果您只想检索类型 属性,您可以通过两种方式进行:
select type from(SELECT expand(getAll("Test")))
- 以这种方式修改你的功能
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)
希望对您有所帮助
此致