XMLDATA疑似列

Oracleは、XMLスキーマ情報およびSTORAGE句の指定方法に基づいて、XMLTypeデータをLOBまたはオブジェクト・リレーショナル列に格納します。XMLDATA疑似列を使用すると、基礎となるLOBまたはオブジェクト・リレーショナル列にアクセスし、追加のSTORAGE句のパラメータ、制約、索引などを指定できます。

次の文は、この疑似列を使用した例です。たとえば、CLOB列を1つ含む単純なXMLTypeの表を作成するとします。

CREATE TABLE xml_lob_tab of XMLTYPE
  XMLTYPE STORE AS CLOB;

基礎となるLOB列の記憶特性を変更する場合は、次の文を使用できます。

ALTER TABLE xml_lob_tab
  MODIFY LOB (XMLDATA) (STORAGE (MAXSIZE 2G) CACHE);

SQL文でのXMLの使用方法で作成したxwarehouses表のようなXMLスキーマベースの表を作成したとします。その後、次の文に示すように、XMLDATA列を使用して、基礎となる列のプロパティを設定できます。

ALTER TABLE xwarehouses
  ADD (UNIQUE(XMLDATA."WarehouseId"));