import java.sql.*; public class cs { public static void main(String args[]) throws Exception { Class.forName("org.postgresql.Driver"); Connection conn = DriverManager.getConnection("jdbc:postgresql://localhost:5750/jurka","jurka",""); Statement stmt = conn.createStatement(); stmt.executeUpdate("CREATE OR REPLACE FUNCTION nullfunc(a int) RETURNS int AS 'BEGIN RETURN $1; END;' LANGUAGE plpgsql"); stmt.executeUpdate("CREATE OR REPLACE FUNCTION nullfunc(a text) RETURNS text AS 'BEGIN RETURN $1; END;' LANGUAGE plpgsql"); stmt.executeUpdate("CREATE OR REPLACE FUNCTION nullfunc(a timestamptz) RETURNS timestamptz AS 'BEGIN RETURN $1; END;' LANGUAGE plpgsql"); stmt.close(); CallableStatement cs = conn.prepareCall("{? = call nullfunc(?)}"); cs.registerOutParameter(1, Types.INTEGER); cs.setNull(2, Types.INTEGER); cs.execute(); int result = cs.getInt(1); System.err.println(result); cs.close(); conn.close(); } }