Menu
Home Explore People Places Arts History Plants & Animals Science Life & Culture Technology
On this page
SQL/XML
Facilities for manipulating XML data in a SQL database

SQL/XML or XML-Related Specifications is part 14 of the Structured Query Language (SQL) specification. In addition to the traditional predefined SQL data types like NUMERIC, CHAR, TIMESTAMP, ... it introduces the predefined data type XML together with constructors, several routines, functions, and XML-to-SQL data type mappings to support manipulation and storage of XML in a SQL database.

We don't have any images related to SQL/XML yet.
We don't have any YouTube videos related to SQL/XML yet.
We don't have any PDF documents related to SQL/XML yet.
We don't have any Books related to SQL/XML yet.
We don't have any archived web articles related to SQL/XML yet.

Specification

The specification defines the data type XML, functions for working with XML, including element construction, mapping data from relational tables, combining XML fragments, and embedding XQuery expressions in SQL statements. Functions which can be embedded include XMLQUERY (which extracts XML or values from an XML field) and XMLEXISTS (which predicates whether an XQuery expression is matched).

Further information and examples of the SQL/XML functions are provided in the external links below234.

Standard compliance

The result of Wagner's objective evaluation of the SQL/XML:2006 standard compliance of Oracle 11g Release 1, MS SQL Server 2008 and MySQL 5.1.30 is shown in the following table5, to which the data for PostgreSQL 9.1,67 and IBM DB2 has been added:

Oracle 11g Release 1IBM DB2 9.7MS SQL Server 2008MySQL 5.1.30PostgreSQL 9.1
Datatype XMLPartial (Oracle entitles the data type 'XMLType' instead of 'XML')HighHighNoPartial
SQL/XML predicatesHighHighPartialNoPartial
SQL/XML functionsHighHighPartialLowHigh
XQuery augmentationYesYesYesNoNo

Examples

The sample SQLXML query below has SQLXML type as output(tested on DB2 9.7 and Oracle 11g):

SELECT XMLELEMENT(NAMEs "PhoneBook", -- root element name XMLAGG( -- aggregation over the rows XMLELEMENT(NAME "Contact", XMLATTRIBUTES(cust.FIRST_NAME AS "Name", cust.TEL) ) ) ) FROM TMP.CUSTOMER AS cust;

And the output:

<PhoneBook> <Contact Name="Daniel" TEL="788255855"/> <Contact Name="Martin" TEL="889665447"/> <Contact Name="Eva" TEL="111222333"/> <Contact Name="Alena" TEL="444555666"/> <Contact Name="Oliver" TEL="777888999"/> <Contact Name="George" TEL="444882446"/> <Contact Name="Jamie" TEL="123456789"/> </PhoneBook>

Samples are taken from javalobby article8.

References

  1. Funderburk, J. E.; Malaika, S.; Reinwald, B. (2002), "XML programming with SQL/XML and XQuery" (PDF), IBM Systems Journal, 41 (4): 642–665, doi:10.1147/sj.414.0642, retrieved 14 November 2011 http://ict.udlap.mx/people/carlos/is346/files/reinwald.pdf

  2. Wagner, Michael (2010), "1. Auflage", SQL/XML:2006 - Evaluierung der Standardkonformität ausgewählter Datenbanksysteme, Diplomica Verlag, ISBN 978-3-8366-9609-8 978-3-8366-9609-8

  3. Eisenberg, Andrew; Melton, Jim (2004), "Advancements in SQL/XML" (PDF), SIGMOD Record, 33 (3): 79, doi:10.1145/1031570.1031588, retrieved 14 November 2011 http://www.sigmod.org/publications/sigmod-record/0409/11.JimMelton.pdf

  4. Eisenberg, Andrew; Melton, Jim (2002), "SQL/XML is Making Good Progress" (PDF), SIGMOD Record, 31 (2): 101, CiteSeerX 10.1.1.109.4867, doi:10.1145/565117.565141, retrieved 14 November 2011 http://www.sigmod.org/publications/sigmod-record/0206/standard.pdf

  5. Wagner, Michael (2010), "1. Auflage", SQL/XML:2006 - Evaluierung der Standardkonformität ausgewählter Datenbanksysteme, Diplomica Verlag, ISBN 978-3-8366-9609-8 978-3-8366-9609-8

  6. PostgreSQL Conformance with ISO 9075-14 (SQL/XML), at PostgreSQL 9.1 documentation. http://www.postgresql.org/docs/9.1/static/features.html

  7. PostgreSQL 9.1 XML functions, at PostgreSQL 9.1 documentation. http://www.postgresql.org/docs/current/static/functions-xml.html

  8. Kec, Daniel (2013), SQLX - From DB Straight to XML and Back, Javalobby.org