1
クエリの結果を返すPL/pgSQL関数を実行すると、PostgreSQLのjdbcドライバはResultSetを1つだけ返すようです。私は "タプル"のメンバーにアクセスする方法を理解できません。 Javaから例えばvia jdbcのPL/pgSQL関数から複数列のSETOF結果を使用する
、私はデータベース
CREATE TABLE things (id SERIAL PRIMARY KEY, name VARCHAR);
INSERT INTO things (name) VALUES ('pen'), ('eraser');
-- function to return all rows as a SETOF
CREATE OR REPLACE FUNCTION list_things() RETURNS SETOF things AS $$
BEGIN
RETURN QUERY SELECT id, name FROM things;
END
$$ LANGUAGE PLPGSQL;
を持っていると私は(PL/pgSQL関数にlist_thingsを使用している場合)次のように:
static void printThings(Connection c) throws SQLException {
Statement s = c.createStatement();
String sql = "SELECT list_things()";
ResultSet rs = s.getResultSet();
while (rs.next()) {
// is String all I can make of it?
System.out.println(rs.getString(1));
// how can I access the name member of result row?
}
}
出力は
のように見えます(1,pen)
(2,eraser)
タプルのメンバーにはどうしたらアクセスできますか?文字列を解析しますか?
はありがとうない、彼らがしているように、それは行を返します!!!作品!!! – mvuot
私の喜び - 喜んで助けた –