【发布时间】:2015-06-16 03:44:33
【问题描述】:
Postgres plpgsql 函数:
CREATE OR REPLACE FUNCTION usersList()
RETURNS TABLE(at varchar,name varchar,surname varchar) AS $$
BEGIN
RETURN QUERY SELECT * FROM users;
END;
$$ LANGUAGE plpgsql;
还有java代码
result = Pstatement.executeQuery("Select usersList() ");
while(result.next()) {
System.out.println(result.getString(("at")));
System.out.println(result.getString(("name")));
System.out.println(result.getString(("surname")));
}
Java 错误 sql 异常信息:
Message: The column name at was not found in this ResultSet.
SQLState: 42703
ErrorCode: 0
如何从函数返回所有表列,然后在 java 中打印它们?
【问题讨论】:
-
试试
SELECT * FROM usersList()。 -
是的,
SELECT usersList()将usersList()视为一个字段,并将输出列打包成单个值(record类型)。SELECT * FROM usersList()将usersList()视为一个表格,并为您提供您期望的结果。 -
它真的很有效。谢谢你。添加为答案以将其投票为正确的!!!
标签: java arrays postgresql return plpgsql