ヘッダーをスキップ
Oracle® Database PL/SQLパッケージおよびタイプ・リファレンス
11g リリース2(11.2)
B56262-06
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

178 DBMS_XMLSTORE

DBMS_XMLSTOREは、リレーショナル表内にXMLデータを格納する機能を提供します。


関連項目:

『Oracle XML DB開発者ガイド』

この章では、次の項目について説明します。


DBMS_XMLSTOREの使用方法


セキュリティ・モデル

DBMS_XMLSTOREパッケージは、XDBが所有しているため、SYSまたはXDBによって作成される必要があります。EXECUTE権限は、PUBLICに付与されます。このパッケージ内のサブプログラムは、現行のユーザーの権限を使用して実行されます。


タイプ

表178-1 DBMS_XMLSTOREのタイプ

タイプ 説明

ctxType

問合せコンテキスト・ハンドルのタイプ。NEWCONTEXTの戻りタイプです。



DBMS_XMLSTOREサブプログラムの要約

表178-2 DBMS_XMLSTOREパッケージのサブプログラム

メソッド 説明

CLEARKEYCOLUMNLIST


キー列リストをクリアします。

CLEARUPDATECOLUMNLIST


更新列リストをクリアします。

CLOSECONTEXT


特定の保存コンテキストのクローズまたは割当て解除を行います。

DELETEXML


XML文書のデータで指定したレコードを、コンテキスト作成時に指定した表から削除します。

INSERTXML


コンテキストの作成時に指定した表にXML文書を挿入します。

NEWCONTEXT


保存コンテキストを作成し、コンテキスト・ハンドルを戻します。

SETKEYCOLUMN


このメソッドは、キー列リストに列を追加します。

SETROWTAG


XML文書で使用されたタグに名前を付け、データベースに対応するXML要素を囲みます。

SETUPDATECOLUMN


更新列リストに列を追加します。

UPDATEXML


XML文書を指定して、表を更新します。



CLEARKEYCOLUMNLIST

キー列リストをクリアします。

構文

PROCEDURE clearKeyColumnList(
   ctxHdl IN ctxType);
パラメータ IN / OUT 説明
ctxHdl (IN) コンテキスト・ハンドル。


CLEARUPDATECOLUMNLIST

更新列リストをクリアします。

構文

PROCEDURE clearUpdateColumnList(
   ctxHdl IN ctxType);
パラメータ IN / OUT 説明
ctxHdl (IN) コンテキスト・ハンドル。


CLOSECONTEXT

特定の保存コンテキストのクローズまたは割当て解除を行います。

構文

PROCEDURE closeContext(
   ctxHdl IN ctxType);
パラメータ IN / OUT 説明
ctxHdl (IN) コンテキスト・ハンドル。


DELETEXML

XML文書のデータで指定したレコードを、コンテキスト作成時に指定した表から削除し、削除した行数を戻します。

構文 説明
FUNCTION deleteXML(

   ctxHdl IN ctxPType,

   xDoc IN VARCHAR2)

RETURN NUMBER;

xDocパラメータにVARCHAR2タイプを使用します。
FUNCTION deleteXML(

   ctxHdl IN ctxType,

   xDoc IN CLOB)

RETURN NUMBER;

xDocパラメータにCLOBタイプを使用します。
FUNCTION deleteXML(

   ctxHdl IN ctxType,

   xDoc IN XMLType)

RETURN NUMBER;

xDocパラメータにXMLTypeタイプを使用します。


パラメータ IN / OUT 説明
ctxHdl (IN) コンテキスト・ハンドル。
xDoc (IN) XML文書を含む文字列。


INSERTXML

コンテキストの作成時に指定した表にXML文書を挿入し、挿入された行数を戻します。

ユーザーが、追加要素(表のいずれの列にも一致しない要素)を含むDBMS_XMLSTOREにinsertXMLのXMLファイルを渡した場合、OracleはSETUPDATECOLUMNが使用されていないかぎり、それらの列への挿入を試みることに注意してください。XMLファイル内の要素が表内の列と一致する場合にのみ、setUpdateColumnを使用できます。

構文 説明
FUNCTION insertXML(

   ctxHdl IN ctxType,

   xDoc IN VARCHAR2)

RETURN NUMBER;

xDocパラメータをVARCHAR2として渡します。
FUNCTION insertXML(

   ctxHdl IN ctxType,

   xDoc IN CLOB)

RETURN NUMBER;

xDocパラメータをCLOBとして渡します。
FUNCTION insertXML(

   ctxHdl IN ctxType,

   xDoc IN XMLType)

RETURN NUMBER;

xDocパラメータをXMLTypeとして渡します。


パラメータ IN / OUT 説明
ctxHdl (IN) コンテキスト・ハンドル。
xDoc (IN) XML文書を含む文字列。


NEWCONTEXT

保存コンテキストを作成し、コンテキスト・ハンドルを戻します。

構文

FUNCTION newContext(
   targetTable IN VARCHAR2)
RETURN ctxType;
パラメータ IN / OUT 説明
targetTable (IN) XML文書のロード先となる表。


SETKEYCOLUMN

このメソッドは、「キー列リスト」に列を追加します。列の値をNULLにはできません。更新または削除の場合、キー列リストの列が文のWHERE句を構成します。更新を実行するには、キー列リストを先に指定する必要がありますが、削除操作においては、これはオプションです。

構文

PROCEDURE setKeyColumn( 
   ctxHdl IN ctxType,
   colName IN VARCHAR2);
パラメータ IN / OUT 説明
ctxHdl (IN) コンテキスト・ハンドル。
colName (IN) キー列リストに追加される列。NULLは設定できません。


SETROWTAG

XML文書で使用されたタグに名前を付け、データベース・レコードに対応するXML要素を囲みます。

構文

PROCEDURE setRowTag(
   ctxHdl IN ctxType,
   tag IN VARCHAR2);
パラメータ IN / OUT 説明
ctxHdl (IN) コンテキスト・ハンドル。
tag (IN) タグ名。


SETUPDATECOLUMN

更新列リストに列を追加します。挿入の場合、デフォルトでは表のすべての列に値が挿入される一方、更新の場合、デフォルトではXML文書のROW要素に存在するタグに対応する列のみが更新されます。更新列リストが指定されている場合、このリストに含まれる列のみが更新または挿入の対象となります。

ユーザーが、追加要素(表のいずれの列にも一致しない要素)を含むDBMS_XMLSTOREINSERTXMLのXMLファイルを渡した場合、Oracleは、setUpdateColumnが使用されていないかぎり、それらの列への挿入を試みることに注意してください。XMLファイル内の要素が表内の列と一致する場合にのみ、setUpdateColumnを使用できます。

構文

PROCEDURE setUpdateColumn( 
   ctxHdl IN ctxType,
   colName IN VARCHAR2);
パラメータ IN / OUT 説明
ctxHdl (IN) コンテキスト・ハンドル。
colName (IN) 更新列リストに追加される列。


UPDATEXML

コンテキストの作成時に指定した表をXML文書のデータで更新し、更新された行数を戻します。指定できるオプションは、次の表のとおりです。

構文 説明
FUNCTION updateXML(

   ctxHdl IN ctxType,

   xDoc IN VARCHAR2)

RETURN NUMBER;

xDocパラメータをVARCHAR2として渡します。
FUNCTION updateXML(

   ctxHdl IN ctxType,

   xDoc IN CLOB)

RETURN NUMBER;

xDocパラメータをCLOBとして渡します。
FUNCTION updateXML(

   ctxHdl IN ctxType,

   xDoc IN XMLType)

RETURN NUMBER;

xDocパラメータをXMLTypeとして渡します。


パラメータ IN / OUT 説明
ctxHdl (IN) コンテキスト・ハンドル。
xDoc (IN) XML文書を含む文字列。