java - 使用 JDBC 时,Oracle 在 Postgresql 中的 REF CURSOR 等效于什么?

标签 java oracle postgresql jdbc plsql

在 Oracle 中我可以声明一个引用游标...

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 中的等价物是什么?

最佳答案

也许这会有所帮助:http://jdbc.postgresql.org/documentation/83/callproc.html#callproc-resultset-setof

我之前没有真正搞砸过:P

关于java - 使用 JDBC 时,Oracle 在 Postgresql 中的 REF CURSOR 等效于什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/87603/

相关文章:

Oracle SQL 格式化

sql-server - 如何在 postgres 中使用具有唯一约束的聚类?

Java 周期性地卡在 futex 和非常低的 IO 输出

java - ORA-00904 : : invalid identifier Issue with Hibernate Dependent objects program

java - 为什么正则表达式不能正常工作?

sql - 为什么 Oracle SQL 中的这个正则表达式会丢失字符串的开头?

node.js - AWS Lambda - 错误 : unable to get local issuer certificate

sql - 如何改进这个 SELECT 查询链?

java - Neo4j 重新排序路径

java - 运行 Apache DefaultHttpClient 并在 Tomcat 中重新部署 Web 应用程序意味着 Permgen 空间