2013-06-29 40 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版本,並解釋一下你實際上想要完成什麼。你顯示的代碼是完全沒用的,它什麼都不做。所以這顯然不是你真正想做的事情,但是你沒有告訴我們這些。通常你認爲的解決方案(循環,說)不是你真正需要的解決方案。