在 Oracle 数据库中使用 REF CURSOR 参数对函数和过程执行的操作
REF CURSOR 是一种 PL/SQL 数据类型,表示指向通过执行查询生成的服务器端结果集的指针。 REF CURSOR 类型支持数据的输入和输出流式传输,是向/从 PL/SQL 代码传输大量数据的理想选择。 Oracle 数据库适配器支持强类型和弱类型 (SYS_REFCURSOR) REF CURSOR,这些 REF CURSOR 可作为 IN、OUT 或 IN OUT 参数传递给 PL/SQL 过程和函数。
在 REF 游标中。 适配器客户端必须通过将 PL/SQL 代码 (作为字符串) 在 Oracle 数据库上打开 REF CURSOR 来使用 IN REF CURSOR。 适配器创建变量并将其设置为打开的 REF CURSOR,并使用该变量调用函数或过程。 因此,PL/SQL 存储过程和函数中的 IN REF CURSOR 参数应表示为字符串,这些字符串将 PL/SQL 代码块作为输入值,用“?”标记 OUT REF CURSOR 变量。
OUT REF 光标。 OUT REF CURSOR 参数作为强类型或弱类型的结果集返回。 返回的结果集的类型取决于 REF CURSOR 参数是在 Oracle 服务器上的存储过程或函数定义中声明为强类型还是弱类型的 REF CURSOR。
IN OUT REF CURSOR 参数。 由于 Oracle 数据库适配器将 IN REF CURSOR 参数建模为字符串,将 OUT REF CURSOR 参数建模为复杂类型,因此它不能为 IN OUT REF CURSOR 参数支持单一类型。 出于此原因,它将 IN OUT REF CURSOR 参数视为两个不同的参数:请求消息中的 IN 参数和响应消息中的 OUT 参数。
详细信息:
使用BizTalk Server调用涉及 REF CURSOR 参数的函数或过程,请参阅使用 BizTalk Server 在 Oracle 数据库中使用 REF CURSORS 调用函数和过程。
使用 WCF 服务模型调用涉及 REF CURSOR 参数的函数或过程,请参阅 使用 WCF 服务模型在 Oracle 数据库中使用 REF CURSORS 运行操作。
Oracle 数据库适配器支持的 REF CURSORS 的 XML 结构,请参阅 REF CURSORS 的消息架构。
另请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈