2013-06-29 17 views
0

是喜是有没有办法做到的存储过程结果在PostgreSQL的存储过程中设置llike的java

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

    ResultSet rs = stmt.executeQuery(sqlQuery); 

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

我需要在PostgreSQL的存储过程相同PostgreSQL中下面的Java代码?

+0

你的Java代码是做什么的?它只是通过结果集滚动(如我所见)。你想对每个记录做些什么吗? –

回答

1

根据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解决方案,通常可以更好地执行LOT。

将来,请给你的PostgreSQL版本,并解释一下你实际上想要完成什么。你显示的代码是完全没用的,它什么都不做。所以这显然不是你真正想做的事情,但是你没有告诉我们这些。通常你认为的解决方案(循环,说)不是你真正需要的解决方案。