Loading article…
SQL/XMLまたはXML 関連仕様は、構造化照会言語(SQL) 仕様のパート 14 です。従来の定義済み SQL データ型に加えて、NUMERIC, CHAR, TIMESTAMP, ... 定義済みデータ型とコンストラクター、いくつかのルーチン、関数、および XML から SQL へのデータ型マッピングが導入され、SQLデータベースXMLでの XML の操作と保存がサポートされます。
- SQL:2003-14 は、基本的なデータ型、マッピング、述語、および関数を定義します。
- SQL:2006-14、SQL:2008-14、SQL:2011-14は、 XQueryの古いバージョンとアプローチを拡張します。[1]
仕様
この仕様では、データ型XML、要素の構築、リレーショナル テーブルからのデータのマッピング、XML フラグメントの結合、SQLステートメントへのXQuery式の埋め込みなど、XML を操作するための関数が定義されています。埋め込み可能な関数には、XMLQUERY (XML フィールドから XML または値を抽出) や XMLEXISTS (XQuery 式が一致するかどうかを予測) などがあります。
SQL/XML関数の詳細情報と例は、以下の外部リンク[2] [3] [4]で提供されています。
標準準拠
Oracle 11g Release 1、MS SQL Server 2008、MySQL 5.1.30のSQL/XML :2006標準準拠に関するWagnerの客観的評価の結果が次の表[2]に示されています。この表にはPostgreSQL 9.1、 [5] [6] 、IBM DB2のデータが追加されています。
例
以下のサンプル SQLXML クエリでは、出力として SQLXML 型が使用されます (DB2 9.7 および Oracle 11g でテスト済み)。
SELECT XMLELEMENT ( NAMEs "PhoneBook" , -- ルート要素名XMLAGG ( -- 行の集計 XMLELEMENT ( NAME "Contact" , XMLATTRIBUTES ( cust . FIRST_NAME AS "Name" , cust . TEL ) ) ) ) FROM TMP . CUSTOMER AS cust ;
出力は次のようになります。
<電話帳>
<連絡先名= "ダニエル" TEL= "788255855" /> <連絡先名= "マーティン" TEL= "889665447" /> <連絡先名= "エヴァ" TEL = " 111222333" / > <連絡先名= "アレナ" TEL= "444555666" /> <連絡先名= "オリバー" TEL= " 777888999" /> <連絡先名= "ジョージ" TEL= "444882446" /> <連絡先名= "ジェイミー" TEL= "123456789" /> < /電話帳>
サンプルはjavalobbyの記事[7]から引用した。
参考文献
- ^ Funderburk, JE; Malaika, S.; Reinwald, B. (2002)、「SQL/XML および XQuery による XML プログラミング」(PDF)、IBM Systems Journal、41 (4): 642–665、doi :10.1147/sj.414.0642、2011年11 月 14 日取得
- ^ ab Wagner、Michael (2010)、「1. Auflage」、SQL/XML:2006 - Evaluierung der Standardkonformität ausgewählter Datenbanksysteme、Diplomica Verlag、ISBN 978-3-8366-9609-8
- ^ アイゼンバーグ、アンドリュー、メルトン、ジム (2004)、「SQL/XML の進歩」(PDF)、SIGMOD Record、33 (3): 79、doi :10.1145/1031570.1031588、2011年11 月 14 日閲覧
- ^ アイゼンバーグ、アンドリュー、メルトン、ジム (2002)、「SQL/XML は順調に進歩している」(PDF)、SIGMOD Record、31 (2): 101、CiteSeerX 10.1.1.109.4867、doi :10.1145/565117.565141、2011年11 月 14 日閲覧
- ^ PostgreSQL の ISO 9075-14 (SQL/XML) への準拠、PostgreSQL 9.1 ドキュメント。
- ^ PostgreSQL 9.1 XML 関数、PostgreSQL 9.1 ドキュメント。
- ^ Kec, Daniel (2013)、「SQLX - DB から XML へ、そして XML から DB へ」、Javalobby.org
外部リンク
- PostgreSQL 上の SQL/XML
- Oracle 11g 上の SQL/XML
