嗨,有没有办法在 postgresql 存储过程中执行以下 java 代码
String sqlQuery = "SELECT uid, name, duration from EVENTS";
ResultSet rs = stmt.executeQuery(sqlQuery);
while (rs.next()) {
String name = rs.getString(2);
}
我在 postgresql 存储过程中需要相同的吗?
最佳答案
根据 PL/PgSQL documentation您可以在查询上使用LOOP
。
DO
$$
DECLARE
myresult record;
BEGIN
FOR myresult IN SELECT uid, name, duration FROM events
LOOP
RAISE NOTICE 'Name is %',myresult.name;
END LOOP;
END;
$$ LANGUAGE plpgsql;
但是,使用循环通常表明您没有正确使用 SQL。正确使用 WITH
查询(通用表表达式)和一点思考很可能会给您带来一个纯粹的 SQL 解决方案,通常会表现得更好。
将来,请提供您的 PostgreSQL 版本,并解释一下您实际想要完成的任务。您显示的代码完全无用,它什么也没做。所以这显然不是你真正想做的,但你却没有告诉我们任何相关信息。很多时候,您认为需要的解决方案(例如循环)并不是您真正需要的解决方案。
关于java - postgresql存储过程中的结果集就像java一样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17377456/