Oracle XML関連

OracleDBの中に非定型項目を格納するためにXMLType列を使う。
通常のXMLファイルではデータ容量、検索スピード、同時実行制御等の問題があるので、Oracleに格納することで問題解決する(特に同時実行制御はXMLテキストファイルでは無理がある)

  • XMLType列の作成

通常のCreate文などで create table test01 (XML列01 xmltype, 他列 varchar2(40),...)などと指定。

  • XMLType列に対する検索用Indexを作る

create index xmlインデックス01 on test01 (xml列01) indextype is ctxsys.context
(CTXXPATH索引のメンテナンスの詳細は、『Oracle Textリファレンス』を参照)

existsNode(XML型,XPATH式) 戻値=True(1)/False(0)
extract(XML型,XPATH式) 戻値=XMLType値
extractValue(XML型,XPATH式) 戻値=varchar2値
・以下調査中
XMLSequence
updateXML
insertChildXML
insertXMLbefore
appendChildXML
deleteXML

サンプルSQL
select
SEQ_NO,extract(xml01,'//emp/empNo') COL1 from TEST01 A

MEMO(32675)