2008-09-17 31 views
0

在Oracle我可以聲明一個參考光標...在使用JDBC時Postgresql中的Oracle的REF CURSOR等價於什麼?

TYPE t_spool IS REF CURSOR RETURN spool%ROWTYPE; 

......並用它來傳遞一個指針作爲返回值...

FUNCTION end_spool 
    RETURN t_spool 
    AS 
    v_spool t_spool; 
    BEGIN 
     COMMIT; 
     OPEN v_spool FOR 
      SELECT 
       * 
      FROM 
       spool 
      WHERE 
       key = g_spool_key 
      ORDER BY 
       seq; 
     RETURN v_spool; 
    END end_spool; 

。 ..然後捕獲它作爲使用JDBC的結果集...

private Connection conn; 
private CallableStatement stmt; 
private OracleResultSet rset; 
[...clip...] 
stmt = conn.prepareCall("{ ? = call " + call + "}"); 
stmt.registerOutParameter(1, OracleTypes.CURSOR); 
stmt.execute(); 
rset = (OracleResultSet)stmt.getObject(1); 

Postgresql中的等效項是什麼?

回答

相關問題