mem*_*und 7 java postgresql jdbc
我为我创建了以下函数postgresql:
CREATE FUNCTION myfunc(param INT) RETURNS VOID AS..
Run Code Online (Sandbox Code Playgroud)
如果没有 ,我该如何调用该函数SELECT?当我运行时SELECT myfunc(1)它会工作,即使它不会按设计返回任何内容。
但我想在没有 select, just 的情况下运行它myfunc(1),这不起作用并告诉我Syntax error at 1。
我正在尝试在 PostgreSQL 中的重复更新中实现插入中的 db_merge 函数?。
我无法SELECT db_merge(..)从 java 运行,因为这会给我一个"A result was returned when none was expected."), PSQLState.TOO_MANY_RESULTS)错误。
您不能这样做(如果没有在 PostgreSQL 中发出语句,则无法调用存储函数SELECT)。另外,PostgreSQL不支持CALL语句。
有关在 PostgreSQL 中调用函数的更多信息。
注意:在 PL/pgSQL 上下文中,如果您调用的函数PERFORM具有.SELECTRETURNS void
编辑:
对于 JDBC,不要使用executeUpdate(),只需execute()像任何其他 SELECT 语句一样使用。
以Spring的JdbcTemplate为例:execute(String)是为DDL语句设计的;使用其他之一并简单地丢弃结果:
query(String, ResultSetExtractor)query(String, RowCallbackHandler)query(String, RowMapper)