对包含 REF CURSOR 参数的函数和过程的操作

REF CURSOR 是 PL/SQL 数据类型,表示指向通过执行查询生成的服务器端结果集的指针。 REF CURSOR 类型支持数据的输入和输出流式处理,非常适合用于向/从 PL/SQL 代码传输大量数据。

强类型化和弱类型 REF CURSOR

适用于 Oracle 电子商务套件的 Microsoft BizTalk 适配器支持强类型和弱类型 (SYS_REFCURSOR) REF CURSOR,这些 CURSOR 可作为 IN 和 OUT 参数传递给 PL/SQL 过程和函数。

  • 在 REF CURSOR 中。 适配器客户端必须使用 IN REF CURSOR,方法是提供 PL/SQL 代码 (作为字符串) ,以在 Oracle 数据库上打开 REF CURSOR。 适配器创建变量并将其设置为打开的 REF CURSOR,并使用该变量调用函数或过程。 因此,PL/SQL 存储过程和函数中的 IN REF CURSOR 参数应表示为字符串,这些字符串采用 PL/SQL 代码块作为输入值,用“?”标记 OUT REF CURSOR 变量。

  • OUT REF CURSOR。 OUT REF CURSOR 参数作为强类型或弱类型结果集返回。 返回的结果集的类型取决于在 Oracle 服务器上的存储过程或函数定义中 REF CURSOR 参数是声明为强类型还是弱类型 REF CURSOR。

  • IN OUT REF CURSOR 参数。 由于 Oracle 电子商务适配器将 IN REF CURSOR 参数建模为字符串,将 OUT REF CURSOR 参数建模为复杂类型,因此它不能支持 IN OUT REF CURSOR 参数的单一类型。 因此,它将 IN OUT REF CURSOR 参数视为两个不同的参数:请求消息中的 IN 参数和响应消息中的 OUT 参数。

另请参阅

可以使用适配器执行哪些操作?