Erzeugt einen XML-Wert auf der Grundlage eines XQuery-Konstruktors
XMLGEN(xquery-Konstruktor, Inhaltsausdruck [ AS Variablenname ],...)
xquery-Konstruktor Ein XQuery-Konstruktor. Der XQuery-Konstruktor ist ein Element, das in der XQuery-Sprache definiert ist. Es bietet eine Syntax zum Aufbau von XML-Elementen auf der Grundlage von XQuery-Ausdrücken. Das Argument xquery_Kontruktor muss ein korrekt aufgebautes XML-Dokument mit einer oder mehreren Variablenreferenzen sein. Eine Variablenreferenz wird in geschweifte Klammern eingeschlossen und erhält das Präfix $ ohne vor- bzw. nachgestellte Leerstellen. Zum Beispiel:
SELECT XMLGEN( '<a>{$x}</a>', 1 AS x ); |
Inhaltsausdruck Eine Variable. Sie können mehrere Inhaltsausdruck-Argumente angeben. Das optionale Argument Variablenname wird zur Benennung der Variablen eingesetzt. Zum Beispiel:
SELECT XMLGEN( '<emp EmployeeID="{$EmployeeID}"><StartDate>{$x}</StartDate></emp>', EmployeeID, StartDate AS x ) FROM Employees; |
XML
Berechnete Konstruktoren, wie sie in der XQuery-Spezifikation beschrieben sind, werden von der XMLGEN-Funktion nicht unterstützt.
Wenn Sie eine Abfrage mit der XMLGEN-Funktion ausführen, werden Daten in den Spalten BINARY, LONG BINARY, IMAGE und VARBINARY automatisch im Base64-kodierten Format zurückgegeben.
Der Elementeninhalt wird immer in Escapezeichen gesetzt, es sei denn, der Datentyp ist XML. Ungültige XML-Element- und Attributnamen werden ebenfalls in Escapezeichen gesetzt.
Weitere Hinweise zu Escapezeichen und zur XMLGEN-Funktion finden Sie unter Ungültige Namen und SQL/XML.
Teil des SQL/XML-Standardentwurfs
Das folgende Beispiel generiert die Tags <emp>, <Surname>, <GivenName> und <StartDate> für jeden Mitarbeiter.
SELECT XMLGEN( '<emp EmployeeID="{$EmployeeID}"> <Surname>="{$Surname}"</Surname> <GivenName>="{$GivenName}"</GivenName> <StartDate>="{$StartDate}"</StartDate> </emp>', EmployeeID, Surname, GivenName, StartDate ) AS employee_list FROM Employees; |
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |