Vorgänge für Funktionen und Prozeduren mit REF CURSOR-Parametern
Ein REF CURSOR ist ein PL/SQL-Datentyp, der einen Zeiger auf ein serverseitiges Resultset darstellt, das durch ausführen einer Abfrage generiert wird. Ein REF CURSOR-Typ ermöglicht das Ein- und Ausgabestreaming von Daten und eignet sich ideal für die Übertragung großer Datenmengen in und aus einem PL/SQL-Code.
Stark typisierte und schwach typisierte REF-CURSORs
Der Microsoft BizTalk-Adapter für Oracle E-Business Suite bietet Unterstützung für stark typisierte und schwach typisierte REF-CURSORs (SYS_REFCURSOR), die als IN- und OUT-Parameter an PL/SQL-Prozeduren und -Funktionen übergeben werden können.
IN REF CURSOR. Adapterclients müssen einen IN REF CURSOR verwenden, indem sie einen PL/SQL-Code (als Zeichenfolge) angeben, der REF CURSOR in der Oracle-Datenbank öffnet. Der Adapter erstellt eine Variable, legt sie als geöffneten REF CURSOR fest und ruft eine Funktion oder Prozedur mit dieser Variablen auf. Daher sollten IN REF CURSOR-Parameter in der gespeicherten PL/SQL-Prozedur und -Funktionen als Zeichenfolgen dargestellt werden, die einen PL/SQL-Codeblock als Eingabewert verwenden, der die OUT REF CURSOR-Variable mit einem "?" markiert.
OUT REF CURSOR. OUT REF CURSOR-Parameter werden entweder als stark oder schwach typisierte Resultsets zurückgegeben. Der Typ des zurückgegebenen Resultsets hängt davon ab, ob der REF CURSOR-Parameter in der gespeicherten Prozedur oder Funktionsdefinition auf dem Oracle-Server als stark typisierte oder schwach typisierte REF CURSOR deklariert wird.
IN OUT REF CURSOR-Parameter. Da der Oracle E-Business-Adapter IN REF CURSOR-Parameter als Zeichenfolgen und OUT REF CURSOR-Parameter als komplexe Typen modelliert, kann er keinen einzelnen Typ für einen IN OUT REF CURSOR-Parameter unterstützen. Aus diesem Grund werden IN OUT REF CURSOR-Parameter als zwei verschiedene Parameter behandelt: ein IN-Parameter in der Anforderungsnachricht und ein OUT-Parameter in der Antwortnachricht.