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のドキュメントによる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 のバージョンと、実際に達成しようとしていることについて少し説明してください。あなたが示すコードはまったく役に立たず、何もしません。それは明らかにあなたが本当にやりたいことではありませんが、あなたはそれについて何も話していません。多くの場合、必要だと思っている解決策(ループなど) が、実際には必要な解決策ではありません。

于 2013-06-29T11:47:45.303 に答える