【问题标题】:Variable in neo4j queryneo4j 查询中的变量
【发布时间】:2020-06-22 16:41:00
【问题描述】:

查询中可以使用变量吗?

例如:

SET @id = 1;
SELECT @id;
+------+
| @id  |
+------+
|    1 |
+------+

是否可以在 中做类似的事情,比如:

SET @id = 1;
WITH @id as id RETURN id;

PS:原因 - 我有大而复杂的查询,并且要使用不同的参数运行此查询几次,我必须手动替换查询中的值,这效率不高。
有了这些变量,我不需要更改查询,只需更新变量值...

【问题讨论】:

  • 提供您的查询可能更能帮助您调试

标签: neo4j mysql neo4j neo4j cypher


【解决方案1】:

您可以将 parameters 传递给 Cypher 查询。比如id作为参数传入:

:param id => 1
RETURN $id

[更新]

如果一个参数(比如propName)指定了一个属性name,那么您可以使用n[$propName] 语法从nget指定的属性.但是要设置属性值,您可以使用 APOC 程序,例如apoc.create.setProperty

【讨论】:

  • 它是如何工作的?参数不能用作属性键
  • 你可以,但是做一些类似n[$id]
  • 您的问题没有提到需要传递属性名称,但是是的,您可以使用n[$id] 语法get 属性值而不是set i> 价值。要使用动态属性名称设置值,您可以使用 APOC 过程,例如 apoc.create.setProperty
猜你喜欢
  • 2023-03-21
  • 1970-01-01
  • 1970-01-01
  • 2022-01-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-17
  • 2019-02-23
相关资源
最近更新 更多