java 执行存储过程报语法错误_为什么我在批处理从Java上执行PostgreSQL上的存储过程时收到错误通知“结果不合理”?...
我在數據庫中有這個過程:
CREATE OR REPLACE FUNCTION replacePageRelevance(id INT, value REAL) RETURNS VOID AS $$
BEGIN
INSERT INTO pageRelevance VALUES (id,value);
EXCEPTION WHEN unique_violation THEN
UPDATE pageRelevance SET relevance = value WHERE pageId = id;
END
$$
LANGUAGE plpgsql;
這段代碼調用了這個函數:
private final String PAGE_RELEVANCE_SQL = "SELECT replacePageRelevance(?,?::REAL)";
try (CallableStatement cstm = conn.prepareCall(PAGE_RELEVANCE_SQL)) {
for (Map.Entry entry : weightMap.entrySet()) {
cstm.setInt(1, entry.getKey());
cstm.setDouble(2, entry.getValue());
cstm.addBatch();
}
cstm.executeBatch();
} catch (SQLException e) {
LOGGER.error("Error discovering pages relevance: " + e.getNextException());
}
}
當我執行批處理時,會在表中插入或替換值,但之后,我收到一個異常,通知在沒有預期的情況下返回了結果.
我不知道出了什么問題,如果我稱之為程序或程序本身.可能是什么問題以及如何解決?
使用SELECT調用過程是正確/唯一的方法嗎?
總結
以上是生活随笔為你收集整理的java 执行存储过程报语法错误_为什么我在批处理从Java上执行PostgreSQL上的存储过程时收到错误通知“结果不合理”?...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 物理搬砖问题_全职业通用,搬砖市场装备
- 下一篇: 指针 是否相同_算法一招鲜——双指针问题