更新查询后获取结果
Get result after an update query
我正在进行以下查询,该查询有效并按预期将信息更新到数据库中。但是有没有办法可以从 Single < UpdateResult > 获得输出?
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”。但这似乎不可能。尝试使用 map、flatmap 并只查看 e 中可用的选项。 e 中唯一的结果数据是 'keys',它是一个空列表和 'updated',它是一个整数值 1。我的数据库是 postgres 并且期望来自 Single < UpdateResult > 的结果,因为我正在使用 'RETURNING' 在查询中。
我对一个有效的插入操作做了同样的事情,但那是通过方法 rxQueryWithParams() 而 returns 一个 Single < ResultSet > 代替。因此想知道这是否可能。一直在查看文档,也许这是不可能的,因为更新查询是 returning 一个 Single < UpdateResult > 。如果可能,请寻求建议,以 return 来自更新查询的数据或解决此问题的方法。请指教。谢谢
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);
}
);
因为您在这些命令中使用 RETURNING
,请将这些 INSERT
和 UPDATE
命令视为查询。
运行 他们通过 rxQueryWithParams()
以便您可以检索结果。
当您 运行 rxUpdateWithParams()
时,UpdateResult
仅包含受影响的行数。
我正在进行以下查询,该查询有效并按预期将信息更新到数据库中。但是有没有办法可以从 Single < UpdateResult > 获得输出?
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”。但这似乎不可能。尝试使用 map、flatmap 并只查看 e 中可用的选项。 e 中唯一的结果数据是 'keys',它是一个空列表和 'updated',它是一个整数值 1。我的数据库是 postgres 并且期望来自 Single < UpdateResult > 的结果,因为我正在使用 'RETURNING' 在查询中。
我对一个有效的插入操作做了同样的事情,但那是通过方法 rxQueryWithParams() 而 returns 一个 Single < ResultSet > 代替。因此想知道这是否可能。一直在查看文档,也许这是不可能的,因为更新查询是 returning 一个 Single < UpdateResult > 。如果可能,请寻求建议,以 return 来自更新查询的数据或解决此问题的方法。请指教。谢谢
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);
}
);
因为您在这些命令中使用 RETURNING
,请将这些 INSERT
和 UPDATE
命令视为查询。
运行 他们通过 rxQueryWithParams()
以便您可以检索结果。
当您 运行 rxUpdateWithParams()
时,UpdateResult
仅包含受影响的行数。