Das PL/SQL-Benutzerhandbuch gibt an, dass man immer ein Package deklarieren muss, das einen REF CURSOR definiert. Die Datenbank legt dies allerdings bereits als SYS_REFCURSOR im Package STANDARD fest. Der PL/SQL-Code dürfte nicht schwer zu verstehen sein. Für den Ausgabestring und die Eingabespalte wurde eine Grenze von 32.767 Zeichen festgelegt.
Da alle Datentypen automatisch in Zeichenketten konvertiert werden können, kann man im Cursor jeden beliebigen Datentyp verwenden – solange es sich um nur eine Spalte handelt. Ein Beispiel:
Es gibt noch einen zusätzlichen Vorteil: Da der Cursor Teil des SQL-Ausdrucks ist, kann man die Abfrage innerhalb der join-Funktion leicht mit einer externen Abfrage verknüpfen. Hier eine Abfrage, die jede einzelne Tabelle ausgibt, sowie eine Liste der Spalten, die den Primärschlüssel bilden:
Die entsprechende Ausgabe ist in Tabelle A zu sehen.
Man kann diese „join“-Funktion auch zum Vergleichen zweier geordneter Datensätze verwenden. Die folgende Abfrage überprüft zum Beispiel, ob ein Index auf Basis eines Fremdschlüssels erstellt wurde (was ein Locking der Tabelle verhindert und Master-Detail-Abfragen unterstützt):
Diese Abfrage führt zwei Unterabfragen aus: Eine fragt die Fremdschlüssel ab, die andere Indices. Die Verknüpfung zwischen diesen beiden Abfragen besteht im Tabellennamen und in der Liste der zur Erstellung von Fremdschlüssel und Index verwendeten Spalten, die als geordnete Liste von Werten übernommen werden.
Hinter 84 Prozent der Zwischenfälle bei Herstellern stecken Schwachstellen in der Lieferkette. Auf dem Vormarsch…
Es kommt angeblich 2028 auf den Markt. Das aufgeklappte Gerät soll die Displayfläche von zwei…
Das System basiert auf Hardware von HPE-Cray und Nvidia. Die Inbetriebnahme erfolgt 2027.
Die Bundesnetzagentur hat ihr Gigabit-Grundbuch aktualisiert. Drei von vier Haushalten sollen jetzt Zugang zu Breitbandanschlüssen…
Mit dem Internet verbundene Digitale Bilderrahmen oder Mediaplayer können mit Schadsoftware infiziert werden und sind…
Schädliche Apps können unter Umständen einen Systemabsturz auslösen. Mindestens eine Anfälligkeit erlaubt eine Remotecodeausführung.