【发布时间】:2014-09-20 05:45:43
【问题描述】:
我创建了自己的 Postgres 函数:
CREATE OR REPLACE FUNCTION myfunction(
param_val1 varchar(255),
param_cal2 VARCHAR(255),
param_val3 VARCHAR(255),
param_val4 current_category,
param_val5 current_type,
param_val6 VARCHAR(255),
param_val7 bigint,
param_val8 text )
我想用 jdbc 调用它:
callableStatement = conn.prepareCall("{call myfunction(?,?,?,?,?,?,?,?)}");
callableStatement.setString(1, "item1");
callableStatement.setString(2, "domain1");
callableStatement.setString(3, "indicator1");
callableStatement.setString(4, "PROPERTY");
callableStatement.setString(5, "STRING");
callableStatement.setString(6, "on");
callableStatement.setLong(7, 1396983600);
callableStatement.setString(8, "testing");
但我明白了:
org.postgresql.util.PSQLException: ERROR: function addindicators(character varying, character varying, character varying, character varying, character varying, character varying, bigint, character varying) does not exist
Hint: No function matches the given name and argument types. You might need to add explicit type casts.
Position: 15
current_category 和 current_type 是枚举。我需要创建 java 枚举然后使用 setObject(#, Object) 吗?
【问题讨论】:
标签: function postgresql jdbc types