pgsql 存储过程
create or replace function testfunction(v_id in integer, v_name out varchar(100), v_name2 out varchar(100))
returns record as
$body$
declare
v1 varchar(1000);
begin
v_name:='测试'||v_id;
v_name2:='测试'||v_id;
end;
$body$
language plpgsql;
java代码
@Test public void pgsql() throws Exception { Class.forName("org.postgresql.Driver"); Connection conn = ConnUtil.getPgConn("jdbc:postgresql://localhost:5432/postgres", "postgres", "admin", null); CallableStatement proc = null; String sql = "{call testfunction(?)}"; proc = conn.prepareCall(sql); proc.setInt(1, 1); proc.execute(); ResultSet rs = proc.executeQuery(); if (rs.next()) { System.out.println(rs.getObject(1).toString() + rs.getObject(2).toString()); } }
pgsql中带有out返回参数的在jdbc中不需要作为参数传进去 否则报错