跳轉到內容

SQL 方言參考/SQL XML

來自華夏公益教科書,開放書籍,開放世界

ISO 出版物 (ISO/IEC 9075-14) 是 SQL 標準的一部分。它以前被稱為 SQLX 或 SQL/XML。它定義了資料型別 XML 和作用於此資料型別以及在該資料型別內建立和處理 XML 物件(元素、屬性等)的函式。Oracle 將資料型別表示為 XMLType。


函式 描述 DB2 SQLite MonetDB MySQL PostgreSQL Firebird OpenLink Virtuoso Oracle MSSQL
版本 支援的軟體版本 V9 N/A V11+ 計劃中 8.3+ N/A 3.5-4.x 9-10x 專有 XML 擴充套件
XMLElement() 建立 XML 元素 XMLElement() N/A xmlelement() 計劃中 xmlelement() N/A XMLElement() XMLElement() .query()[1]
XMLForest() 從傳入的元件建立 XML 片段。 XMLForest() N/A xmlforest() xmlforest() 計劃中(補丁存在) N/A XMLForest() XMLForest() FOR XML 子句[2]
XMLColAttVal() 建立 XML 片段,然後擴充套件結果 XML,使每個 XML 片段具有名為“column”的屬性,並帶有“name”屬性。 N/A N/A 計劃中 計劃中 N/A XMLColAttVal() XMLColAttVal() FOR XML 子句[2]
ExtractValue() 以 XML 例項和 XPath 表示式作為引數,並返回結果節點的標量值。 N/A N/A 計劃中 計劃中 N/A ExtractValue() ExtractValue() .value()[3]
XMLTransform() 以 XML 例項和 XSL 樣式表作為引數,樣式表本身是 XML 例項的一種形式。它將樣式表應用於例項並返回 XML。 N/A N/A 計劃中 計劃中 N/A XMLTransform() XMLTransform() N/A[4]
XMLSequence() 接受輸入,並返回 XML 中頂層節點的 varray,或者為遊標的每一行返回一個 XMLSequence 型別和一個 XML 文件。 N/A xmlsequence() 計劃中 計劃中 N/A XMLSequence() XMLSequence() .nodes()[5]
XMLConcat() 接受一系列 XML 例項作為輸入,為每一行連線一系列元素,並返回連線後的系列。 XMLConcat N/A N/A 計劃中 計劃中(補丁存在) N/A XMLConcat() XMLConcat() N/A[6]
UpdateXML() 以 XML 例項和 XPath 值對作為引數,並返回包含更新值的 XML 例項。 N/A N/A 計劃中 計劃中 N/A UpdateXML() UpdateXML() .modify()[7]
  1. MSSQL 2005 及更高版本的 xml 資料型別 .query() 方法執行此函式。
  2. a b MSSQL 2000 及更高版本的 SQL SELECT 語句的 FOR XML 子句執行類似的功能。
  3. MSSQL 2005 及更高版本的 xml 資料型別 .value() 方法執行此函式。
  4. 在 MSSQL 2005 及更高版本中,xml 資料型別和 SQLCLR 可用於建立模擬此功能的函式/過程。
  5. MSSQL 2005 及更高版本的 xml 資料型別 .nodes() 方法執行此函式。
  6. 在 MSSQL 2005 及更高版本中,+ 字串連線運算子可以與 xml 資料型別例項到字元資料型別的顯式轉換一起使用,以模擬此功能。
  7. MSSQL 2005 及更高版本的 xml 資料型別 .modify() 方法使用 XML DML 執行此函式。
華夏公益教科書