【问题标题】:Neo4j APOC remove all triggersNeo4j APOC 删除所有触发器
【发布时间】:2018-05-16 08:29:27
【问题描述】:

我想实现 Cypher 查询并使用 APOC 函数删除所有现有触发器:

我正在尝试以下查询:

CALL apoc.trigger.list() yield name 
CALL apoc.trigger.remove(name) yield name, installed

但它失败并出现以下错误:

Neo.ClientError.Statement.SyntaxError:查询不能以 CALL 结束 (必须是 RETURN 或更新子句)(第 1 行,第 37 列(偏移量:36)) "CALL apoc.trigger.list() 产生名称 CALL apoc.trigger.remove(name) 产量名称,已安装” ^

如何正确实现这个查询?

【问题讨论】:

    标签: neo4j cypher neo4j-apoc


    【解决方案1】:

    正如错误所说,查询不能以 CALL 结束(除非 CALL 是查询中的唯一语句)。它需要写操作(MERGE、CREATE、SET、REMOVE、DELETE)或返回。

    如果要返回调用产生的值,可以在末尾添加RETURN name, installed。否则,如果您真的不关心返回的内容,RETURN DISTINCT true 应该可以解决问题。

    哦,您可能希望在其中一个 YIELD 或另一个中使用别名 name,因为您可能会收到变量名冲突的错误。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-09-29
      • 1970-01-01
      • 2011-03-06
      • 1970-01-01
      相关资源
      最近更新 更多