对包含 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 参数。