Eine häufige Aufgabe beim Abrufen von Daten aus einer Datenbank besteht darin, einen von einer Abfrage ausgegebenen Satz von Werten als kommagetrennte Liste zu formatieren. Fast ebenso häufig ist genau die entgegengesetzte Aufgabe – eine kommagetrennte Liste von Werten in einem einzelnen String als Tabelle von Werten zu benutzen.
Viele Scriptsprachen wie Perl und Python bieten Funktionen, die mit ihren sprachspezifischen Listen von Werten genau dies machen. Es überrascht daher, dass diese Funktionalität bislang nicht standardmäßig in den SQL-Funktionen enthalten ist. Es gibt zwar ziemlich hässliche Hilfskonstruktionen, die komplexe Deklarationen mit MAX und DECODE enthalten, doch liefern solche Lösungen normalerweise nur einen begrenzten Satz von Werten. Mit einigen der neuen Features von Oracle9i und neueren Versionen kann man diese Funktionen selbst erstellen.
Hier soll eine „join“-Funktion verwendet werden, um eine Abfrage zu erstellen, die eine einzelne Spalte und ein Trennzeichen ausgibt, worauf ein einfacher String entsteht, der eine Liste der entsprechenden Werte, vom Trennzeichen getrennt, enthält. Die Abfrage kann der Funktion als REF CURSOR unter Verwendung der neuen SQL CURSOR-Funktion übergeben werden. Das Trennzeichen sollte standardmäßig ein Komma sein, da dies das am häufigsten verwendete Trennzeichen ist. Die Syntax sollte also wie folgt aussehen:
Realisiert wird diese Funktion mithilfe des folgenden Codes:
Von ihr geht ein hohes Risiko aus. Angreifbar sind Chrome für Windows, macOS und Linux.
Forschende des KIT haben ein Modell zur Emotionsanalyse entwickelt, das affektive Zustände ähnlich genau wie…
Sie decken die Identität des Kopfs der Gruppe auf. Britische Behörden fahnden mit einem Foto…
Er treibt das neue iPad Pro mit OLED-Display an. Apple verspricht eine deutliche Leistungssteigerung gegenüber…
Davon entfällt ein Viertel auf staatliche Einrichtungen und 12 Prozent auf Industrieunternehmen.
Forscher umgehen die Verschlüsselung und erhalten Zugriff auf VPN-Datenverkehr im Klartext. Für ihren Angriff benötigen…