如何在 Apache Ignite 中从其他表的其他列更新表的列?

问题描述 投票:0回答:1

我有一个 Gridgain Ignite v8.8.29 的缓存集群。我其中有两个表 VOTE 和 VOTEDETAIL 都有相同的键列。在 VOTE 表中,名为“comment”的一列具有空值,而 VOTEDETAIL 表中的同一列包含值。我想使用 VOTEDETAIL 中匹配键列的注释列的值更新 VOTE 中注释列的空值。 Apache Ignite 有没有办法做到这一点?

我尝试了以下合并命令:

MERGE INTO master.VOTE(voteId,uuid,batchId,address,phone,name,email,decision,comment,createdon, active)(SELECT voteId,uuid,batchId,address,phone,name,email,decision,comment,createdon, active FROM master.VOTEDETAIL where comment is NOT NULL)

但是,此查询将使用“comment”值插入 VOTE 表中的记录,而不是更新现有记录中的 null。我认为 Ignite 不像其他数据库那样支持

Merge and When Matched
语句。在 Apache Ignite 中还有其他方法可以做到这一点吗?

database ignite
1个回答
0
投票

MERGE 命令在幕后(有效)转换为键值

put
;它更像是更新插入而不是合并。

您也许可以使用 UPDATE 语句执行您想要的操作。或者,您可以使用 SELECT 语句查找记录并使用键值 API(可能是入口处理器)更新它们。

© www.soinside.com 2019 - 2024. All rights reserved.