import java.sql.*; public class FuncTest { public static void main(String args[]) throws Exception { Class.forName("org.postgresql.Driver"); Connection conn = DriverManager.getConnection("jdbc:postgresql://localhost:5850/kjurka", "kjurka", ""); Statement stmt = conn.createStatement(); stmt.execute("CREATE TEMP TABLE athlete (email text, first_name text, last_name text, password text, gender text, dob date)"); stmt.execute("CREATE OR REPLACE FUNCTION athlete_add(IN new_email TEXT, IN fname TEXT, IN lname TEXT, IN pw TEXT, IN sex TEXT, IN bdate DATE) RETURNS BOOLEAN AS $$ BEGIN INSERT INTO athlete (email, first_name, last_name, password, gender, dob) VALUES (new_email, fname, lname, pw, sex, bdate); IF FOUND THEN RETURN TRUE; END IF; RETURN FALSE; END; $$ LANGUAGE plpgsql;"); CallableStatement cs = conn.prepareCall("{? = call athlete_add(?,?,?,?,?,?)} "); cs.registerOutParameter(1, Types.BOOLEAN); cs.setString(2, "email"); cs.setString(3, "first"); cs.setString(4, "last"); cs.setString(5, "pw"); cs.setString(6, "sex"); cs.setDate(7, new java.sql.Date(System.currentTimeMillis())); cs.execute(); cs.close(); ResultSet rs = stmt.executeQuery("SELECT * from athlete"); ResultSetMetaData rsmd = rs.getMetaData(); while (rs.next()) { for (int i=1; i<=rsmd.getColumnCount(); i++) { System.out.println(rs.getString(i)); } } } }