DBMS_XMLSTOREは、リレーショナル表内にXMLデータを格納する機能を提供します。
|
関連項目: 『Oracle XML DB開発者ガイド』 |
この章では、次の項目について説明します。
セキュリティ・モデル
タイプ
表200-2 DBMS_XMLSTOREパッケージのサブプログラム
| メソッド | 説明 |
|---|---|
|
|
キー列リストをクリアします。 |
|
|
更新列リストをクリアします。 |
|
|
特定の保存コンテキストのクローズまたは割当て解除を行います。 |
|
|
XML文書のデータで指定したレコードを、コンテキスト作成時に指定した表から削除します。 |
|
|
コンテキストの作成時に指定した表にXML文書を挿入します。 |
|
|
保存コンテキストを作成し、コンテキスト・ハンドルを戻します。 |
|
|
このメソッドは、キー列リストに列を追加します。 |
|
|
XML文書で使用されたタグに名前を付け、データベースに対応するXML要素を囲みます。 |
|
|
更新列リストに列を追加します。 |
|
|
XML文書を指定して、表を更新します。 |
キー列リストをクリアします。
構文
PROCEDURE clearKeyColumnList( ctxHdl IN ctxType);
| パラメータ | IN / OUT | 説明 |
|---|---|---|
ctxHdl |
(IN) |
コンテキスト・ハンドル。 |
更新列リストをクリアします。
構文
PROCEDURE clearUpdateColumnList( ctxHdl IN ctxType);
| パラメータ | IN / OUT | 説明 |
|---|---|---|
ctxHdl |
(IN) |
コンテキスト・ハンドル。 |
特定の保存コンテキストのクローズまたは割当て解除を行います。
構文
PROCEDURE closeContext( ctxHdl IN ctxType);
| パラメータ | IN / OUT | 説明 |
|---|---|---|
ctxHdl |
(IN) |
コンテキスト・ハンドル。 |
XML文書のデータで指定したレコードを、コンテキスト作成時に指定した表から削除し、削除した行数を戻します。
| 構文 | 説明 |
|---|---|
FUNCTION deleteXML(
|
xDocパラメータにVARCHAR2タイプを使用します。 |
FUNCTION deleteXML(
|
xDocパラメータにCLOBタイプを使用します。 |
FUNCTION deleteXML(
|
xDocパラメータにXMLTypeタイプを使用します。 |
| パラメータ | IN / OUT | 説明 |
|---|---|---|
ctxHdl |
(IN) |
コンテキスト・ハンドル。 |
xDoc |
(IN) |
XML文書を含む文字列。 |
コンテキストの作成時に指定した表にXML文書を挿入し、挿入された行数を戻します。
ユーザーが、追加要素(表のいずれの列にも一致しない要素)を含むDBMS_XMLSTOREにinsertXMLのXMLファイルを渡した場合、OracleはSETUPDATECOLUMNが使用されていないかぎり、それらの列への挿入を試みることに注意してください。XMLファイル内の要素が表内の列と一致する場合にのみ、setUpdateColumnを使用できます。
| 構文 | 説明 |
|---|---|
FUNCTION insertXML(
|
xDocパラメータをVARCHAR2として渡します。 |
FUNCTION insertXML(
|
xDocパラメータをCLOBとして渡します。 |
FUNCTION insertXML(
|
xDocパラメータをXMLTypeとして渡します。 |
| パラメータ | IN / OUT | 説明 |
|---|---|---|
ctxHdl |
(IN) |
コンテキスト・ハンドル。 |
xDoc |
(IN) |
XML文書を含む文字列。 |
保存コンテキストを作成し、コンテキスト・ハンドルを戻します。
構文
FUNCTION newContext( targetTable IN VARCHAR2) RETURN ctxType;
| パラメータ | IN / OUT | 説明 |
|---|---|---|
targetTable |
(IN) |
XML文書のロード先となる表。 |
このメソッドは、「キー列リスト」に列を追加します。列の値をNULLにはできません。更新または削除の場合、キー列リストの列が文のWHERE句を構成します。更新を実行するには、キー列リストを先に指定する必要がありますが、削除操作においては、これはオプションです。
構文
PROCEDURE setKeyColumn( ctxHdl IN ctxType, colName IN VARCHAR2);
| パラメータ | IN / OUT | 説明 |
|---|---|---|
ctxHdl |
(IN) |
コンテキスト・ハンドル。 |
colName |
(IN) |
キー列リストに追加される列。NULLは設定できません。 |
XML文書で使用されたタグに名前を付け、データベース・レコードに対応するXML要素を囲みます。
構文
PROCEDURE setRowTag( ctxHdl IN ctxType, tag IN VARCHAR2);
| パラメータ | IN / OUT | 説明 |
|---|---|---|
ctxHdl |
(IN) |
コンテキスト・ハンドル。 |
tag |
(IN) |
タグ名。 |
更新列リストに列を追加します。挿入の場合、デフォルトでは表のすべての列に値が挿入される一方、更新の場合、デフォルトではXML文書のROW要素に存在するタグに対応する列のみが更新されます。更新列リストが指定されている場合、このリストに含まれる列のみが更新または挿入の対象となります。
ユーザーが、追加要素(表のいずれの列にも一致しない要素)を含むDBMS_XMLSTOREにINSERTXMLのXMLファイルを渡した場合、Oracleは、setUpdateColumnが使用されていないかぎり、それらの列への挿入を試みることに注意してください。XMLファイル内の要素が表内の列と一致する場合にのみ、setUpdateColumnを使用できます。
構文
PROCEDURE setUpdateColumn( ctxHdl IN ctxType, colName IN VARCHAR2);
| パラメータ | IN / OUT | 説明 |
|---|---|---|
ctxHdl |
(IN) |
コンテキスト・ハンドル。 |
colName |
(IN) |
更新列リストに追加される列。 |
コンテキストの作成時に指定した表をXML文書のデータで更新し、更新された行数を戻します。指定できるオプションは、次の表のとおりです。
| 構文 | 説明 |
|---|---|
FUNCTION updateXML(
|
xDocパラメータをVARCHAR2として渡します。 |
FUNCTION updateXML(
|
xDocパラメータをCLOBとして渡します。 |
FUNCTION updateXML(
|
xDocパラメータをXMLTypeとして渡します。 |
| パラメータ | IN / OUT | 説明 |
|---|---|---|
ctxHdl |
(IN) |
コンテキスト・ハンドル。 |
xDoc |
(IN) |
XML文書を含む文字列。 |