0

嗨,有什么方法可以在 postgresql 存储过程中执行以下 java 代码

String sqlQuery = "SELECT uid, name, duration from EVENTS";

    ResultSet rs = stmt.executeQuery(sqlQuery);

    while (rs.next()) {
       String name = rs.getString(2);
     }

我在 postgresql 存储过程中需要相同的内容吗?

4

1 回答 1

1

根据PL/PgSQL 文档,您可以为此使用LOOPover 查询。

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 版本并解释一下您实际想要完成的工作。您显示的代码完全没用,它什么也没做。所以这显然不是你真正想做的,但你什么也没告诉我们。很多时候,你认为你需要的解决方案(比如循环)并不是你真正需要的解决方案。

于 2013-06-29T11:47:45.303 回答