我正在执行以下查询,该查询可以正常工作并将信息更新到数据库中。但是有办法我可以从Single
public Single<UpdateResult> update(UpdateEventRequest request) {
return client.rxUpdateWithParams(
"UPDATE mydb.sample SET sta_cd=?, some_ts=current_timestamp WHERE id=? RETURNING sta_cd",
new JsonArray(Arrays.asList(sta_cd, id)));
}
从以下e变量中,我希望获得值“ 10012”。但这似乎不可能。尝试过使用地图,平面图,只看到e中可用的选项。 e中唯一的结果数据是“ keys”(是一个空列表)和“ updated”(是一个整数值1)。我的数据库是postgres,由于在查询中使用“ RETURNING”,因此期望从Single
对于插入操作,我已经做了同样的事情,但是它是通过rxQueryWithParams()方法返回一个Single
Single<UpdateResult> result = someClass.update("10012", "78632");
result.subscribe(
e -> {
System.out.println("success: " + e); // I land here as expected
},
error -> {
System.out.println("error: " + error);
}
);
答案 0 :(得分:2)
由于在这些命令中使用了RETURNING
,因此将这些INSERT
和UPDATE
命令视为查询。
通过rxQueryWithParams()
运行它们,以便您检索结果。
运行rxUpdateWithParams()
时,UpdateResult
仅包含受影响的行数。