跳到主要内容
版本:3.12.0

UPDATE EDGE

UPDATE EDGE语句可以修改边上 Edge type 的属性。

悦数图数据库 支持 CAS(compare and swap)操作。

语法

UPDATE EDGE ON <edge_type>
<src_vid> -> <dst_vid> [@<rank>]
SET <update_prop>
[WHEN <condition>]
[YIELD <output>]
参数是否必须说明示例
ON <edge_type>指定 Edge type。要修改的属性必须在这个 Edge type 内。ON serve
<src_vid>指定边的起始点 ID。"player100"
<dst_vid>指定边的目的点 ID。"team204"
<rank>指定边的 rank 值。10
SET <update_prop>指定如何修改属性值。SET start_year = start_year +1
WHEN <condition>指定过滤条件。如果<condition>结果为falseSET子句不会生效。WHEN end_year < 2010
YIELD <output>指定语句的输出格式。YIELD start_year AS Start_Year

示例

// 用 GO 语句查看边的属性值。
nebula> GO FROM "player100" \
OVER serve \
YIELD properties(edge).start_year, properties(edge).end_year;
+-----------------------------+---------------------------+
| properties(EDGE).start_year | properties(EDGE).end_year |
+-----------------------------+---------------------------+
| 1997 | 2016 |
+-----------------------------+---------------------------+

// 修改属性 start_year 的值,并返回 end_year 和新的 start_year。

nebula> UPDATE EDGE ON serve "player100" -> "team204"@0 \
SET start_year = start_year + 1 \
WHEN end_year > 2010 \
YIELD start_year, end_year;
+------------+----------+
| start_year | end_year |
+------------+----------+
| 1998 | 2016 |
+------------+----------+