我为我的postgresql
创建了以下函数:
CREATE FUNCTION myfunc(param INT) RETURNS VOID AS..
我如何在没有
SELECT
的情况下调用该函数?
当我运行SELECT myfunc(1)
时,它能够工作,尽管它没有按设计返回任何内容。
但是我想要不使用select来运行它,只需myfunc(1)
,这样做不起作用,并告诉我Syntax error at 1
。
我正在尝试实现PostgreSQL中插入重复项更新的db_merge函数?
我无法从Java中运行SELECT db_merge(..)
,因为这会给我一个"A result was returned when none was expected."), PSQLState.TOO_MANY_RESULTS)
错误。
Statement.execute(“select db_merge()”)
将完美地工作。您只需不能使用executeUpdate()
,因为它不允许返回任何内容。 - user330315executeBatch()
语句在其中运行它,该语句由JdbcTemplate.batchUpdate()
调用。所以我可能不能使用它? - membersoundJdbcTemplate.execute(String)
是为 DDL 语句设计的。http://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/jdbc/core/JdbcTemplate.html#execute-java.lang.String- -- 使用其他的execute(String, ResultSetExtractor|RowCallbackHandler|RowMapper)
中的一个,并简单地丢弃结果。 - pozs