Orientdb 简明教程

OrientDB - Update Edge

Update edge 命令用于更新当前数据库中的边记录。这相当于实际的 update 命令,除了在事件中检查和维护与顶点的一致性外,还可以更新 outin 属性。

以下语句是更新边命令的基本语法。

UPDATE EDGE <edge>
   [SET|INCREMENT|ADD|REMOVE|PUT <field-name> = <field-value> [,]*]|[CONTENT|MERGE <JSON>]
   [RETURN <returning> [<returning-expression>]]
   [WHERE <conditions>]
   [LOCK default|record]
   [LIMIT <max-records>] [TIMEOUT <timeout>]

以下是上文中选项的详细信息。

<edge> − 定义要更新的边。你可以在 Class 中选择按类型更新边,在以 Cluster 为前缀的 Cluster 中按群集更新边,或在 Record ID 中按记录 ID 更新边。

SET − 将字段更新为给定值。

INCREMENT − 将给定字段加上该值。

ADD − 定义一个项目以添加到字段集合中。

REMOVE − 定义一个项目以从字段集合中删除。

PUT − 定义入口以放入映射字段中。

RETURN − 定义在运行更新后要返回的表达式。

WHERE − 定义筛选条件。

LOCK − 定义在加载和更新之间记录锁定的方式。

LIMIT − 定义最大记录数。

Example

让我们考虑一个通过从区域 ID = 001 和人员姓名 = Krishna 的地址表获取数据来更新人员类型中的“address”边的示例。

orientdb> UPDATE EDGE address SET out = (SELECT FROM Address WHERE areaID = 001)
WHERE name = 'krishna'

如果成功执行了以上查询,您会获得以下输出。

Updated edge '[address[#10:3][#11:3->#14:2]]' in 0.012000 sec(s)