? Referenz (REF) Cursor sind PL /SQL -Datentypen, die Recordsets verwenden als Parameter und gibt die Datensätze nach der Manipulation von PL /SQL gespeicherte Prozeduren oder Funktionen. Aufgrund seiner Fähigkeit, sich in andere Routinen wieder verwendet werden , bieten Referenz Cursor ein hohes Maß an Skalierbarkeit und Flexibilität , anders als bei normalen Cursor in die Rahmen zu den Programm -Blöcke in dem sie deklariert sind begrenzt. Definition
REF Cursor ist ein PL /SQL -Datentyp, der als Parameter in PL /SQL gespeicherte Prozeduren und Funktionen verwendet wird. Programmierer verwenden REF Cursor zu holen und zu manipulieren Datensätze in der Datenbank , in der Regel durch eine select-Anweisung mit Feldern und Variablen, die in der Cursor gefunden entsprechen. REF Cursor verwenden server memory read-only Ergebnisse in einer Abfrage zurück.
Vorteile
REF Cursor sitzen in einem gemeinsamen Speicher-Pool und sind für gespeicherte PL /SQL Prozeduren in der Datenbank . Diese Modularität ermöglicht anderen Programmen Zugriff auf die Cursor-Variable ohne eine neue Daten-Array oder Cursor-Variablen zu erklären und damit eine Verlangsamung Daten Prozesse . Weil es in einem gemeinsamen Speicher-Pool sitzt , Bearbeitungszeiten auch als Folge sinken.
REF Cursor Typen
Zwei Arten von REF Cursor existieren. Die erste , eine so genannte starke REF Cursor legt die Werte und Typen der Spalten in einem Datensatz zurückgegeben. Dies kann nützlich sein für Programmierer, die Kontrolle über die Daten -Ausgang benötigen . Die zweite , eine so genannte schwache REF Cursor legt keinen Rückgabetyp . Schwache REF Cursor verwenden den Platzhalter "*" , um alle Felder innerhalb eines Recordsets zu sammeln. Schwache Cursor sind austauschbar und können mit den Ergebnissen einer Abfrage ohne erhebliche Manipulation zugeordnet werden.
Schritte bei der Definition eines REF Cursor
A REF Cursor erfordert drei Elemente in seiner Erklärung . Zunächst muss der PL /SQL-Programm -Paket erstellt werden. Zweitens muss die REF Cursor genannt oder definiert werden in der PL /SQL-Block . Schließlich erstellen Programmierer Abfragen im Programm -Paket, um Komponenten, die vom REF Cursor codiert zuzugreifen und geben einen gültigen Datensatz .
Syntax zum Deklarieren und Verwenden eines REF Cursor
Programmierer müssen die REF Cursor unter die DECLARE-Anweisung zu definieren, wie in der folgenden :
DeclareType EmpCurTyp ist REF CURSOR RETURN Mitarbeiter rowtype % ;
Sobald der Programmierer erklärt den Cursor , ist es offen für den Einsatz in einem PL /SQL-Block . Programmierer können die Machbarkeit von neuen Erklärungen , indem Sie den Cursor als Parameter in einem PL /SQL-Block , der auf den REF CURSOR -Parameter -Typ testen. Im Code können Programmierer verwenden " OPEN -FOR ", " FETCH " und "CLOSE" im Paket Körper , um Daten Manipulationen durchführen , wie in der folgenden :
VERFAHREN process_pay ; Prozess Aussagen mit OPEN -FOR , FETCH und schließen; END;