Rozšíření SQL

  • většina high-end databází obsahuje nějakou podporu XML

  • proprietární rozšíření SQL

    SELECT firstname, lastname, employeeid FROM Employess 
    WHERE employeeid = 1 FOR XML RAW
    
    <row firstname="Nancy" lastname="Davolio" employeeid="1"/>
  • SQL/XML – rozšíření standardu SQL o mapování mezi SQL a XML typy a názvy identifikátorů, funkce pro generování XML z výsledku SQL dotazu, načítání/ukládání XML, …

    select xmlelement("emp",
                     'Employee ' ,
                     xmlelement( "name", e.ename),
                     ' was hired on ',
                     xmlelement("hiredate", e.hiredate)) as result
    from employess e;
    
    <emp>
      Employee <name>John</name> was hired 
      on <hiredate>2002-12-07</hiredate>
    </emp>
  • XPath/XQuery lze kombinovat s SQL

    SELECT
      XMLQUERY('for $p in /PurchaseOrder
                where $p/Requestor = "Allan D. McEwen"
                return $p/Reference' 
        PASSING object_value
        RETURNING CONTENT)
    FROM PURCHASEORDER;