プライマリ・コンテンツに移動
Oracle® Database PL/SQLパッケージおよびタイプ・リファレンス
12c リリース1 (12.1)
B71281-05
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

186 DBMS_XDB_VERSION

Oracle XML DBバージョニング・インタフェースは、DBMS_XBD_VERSIONパッケージに含まれています。DBMS_XDB_VERSIONのファンクションとプロシージャは、バージョン履歴内のVCRの作成とバージョンの管理に役立ちます。

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


関連項目:

『Oracle XML DB開発者ガイド』

DBMS_XDB_VERSIONの使用方法

セキュリティ・モデル

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

DBMS_XDB_VERSIONサブプログラムの要約

表186-1 DBMS_XDB_VERSIONパッケージのサブプログラム

メソッド 説明

CHECKINファンクション


チェックアウトされたVCRをチェックインし、新規作成されたバージョンのリソースIDを戻します。

CHECKOUTプロシージャ


VCRを更新または削除する前にチェックアウトします。

GETCONTENTSBLOBBYRESIDファンクション


内容をBLOBとして取得します。

GETCONTENTSCLOBBYRESIDファンクション


内容をCLOBとして取得します。

GETCONTENTSXMLBYRESIDファンクション


内容をXMLTypeとして取得します。

GETPREDECESSORSファンクション


先行リソースのリストをパス名を指定することによって取得します。

GETPREDSBYRESIDファンクション


先行リソースのリストをリソースIDを指定することによって取得します。

GETRESOURCEBYRESIDファンクション


リソース・オブジェクトIDを指定して、リソースをXMLTypeとして取得します。

GETSUCCESSORSファンクション


後続リソースのリストをパス名を指定することによって取得します。

GETSUCCSBYRESIDファンクション


後続リソースのリストをリソースIDを指定することによって取得します。

MAKEVERSIONEDファンクション


パス名を指定した標準リソースをバージョン管理されたリソースに変換します。

UNCHECKOUTファンクション


チェックアウトされたリソースをチェックインし、リソースがチェックアウトされる前にバージョンのリソースIDを戻します。


CHECKINファンクション

このファンクションは、チェックアウトされたVCRをチェックインし、新規作成されたバージョンのリソースIDを戻します。

構文

DBMS_XDB_VERSION.CHECKIN(
   pathname VARCHAR2) 
 RETURN DBMS_XDB.resid_type;

パラメータ

表186-2 CHECKINファンクションのパラメータ

パラメータ 説明

pathname

チェックアウトされたリソースのパス名。


使用上の注意

これは、自動コミットのSQL操作ではありません。CHECKINファンクションには、CHECKOUTプロシージャ操作で渡したパス名と同じパス名を取る必要はありません。ただし、操作が正しく行われるには、CHECKINファンクションCHECKOUTプロシージャのパス名が同じリソースのパス名であることが必要です。リソースの名前が変更されている場合、変更前の名前はすでに無効になっているか、現在は別のリソースにバインドされているため、CHECKINファンクションでは新規の名前を使用する必要があります。パス名が存在しない場合は、例外が発生します。パス名が変更されている場合、リソースのCHECKINファンクションでは新規のパス名を使用する必要があります。

CHECKOUTプロシージャ

このプロシージャは、VCRを更新または削除する前にチェックアウトします。

構文

DBMS_XDB_VERSION.Checkout(
   pathname    VARCHAR2);

パラメータ

表186-3 CHECKOUTプロシージャのパラメータ

パラメータ 説明

pathname

チェックアウトするVCRのパス名。


使用上の注意

これは、自動コミットのSQL操作ではありません。同じ作業領域の2名のユーザーが、CHECKOUTプロシージャを使用して同時に同じVCRをチェックアウトすることはできません。同時にチェックアウトすると、いずれかのユーザーはロールバックする必要があります。このため、リソースの更新前にCHECKOUTプロシージャ操作をコミットし、トランザクションがロールバックされた場合の更新内容の消失を回避することをお薦めします。指定したリソースがVCRでない場合、VCRがすでにチェックアウトされている場合、またはリソースが存在しない場合は、例外が発生します。

GETCONTENTSBLOBBYRESIDファンクション

このファンクションは、内容をBLOBとして取得します。

構文

DBMS_XDB_VERSION.GETCONTENTSBLOBYRESID(
   resid      DBMS_XDB.resid_type)
 RETURN BLOB;

パラメータ

表186-4 GETCONTENTSBLOBYRESIDファンクションのパラメータ

パラメータ 説明

resid

リソースID。


GETCONTENTSCLOBBYRESIDファンクション

このファンクションは、内容をCLOBとして取得します。

構文

DBMS_XDB_VERSION.GETCONTENTSCLOBYRESID(
   resid     DBMS_XDB.resid_type)
 RETURN CLOB;

パラメータ

表186-5 GETCONTENTSCLOBYRESIDファンクションのパラメータ

パラメータ 説明

resid

リソースID。


GETCONTENTSXMLBYRESIDファンクション

このファンクションは、内容をXMLTypeとして取得します。

構文

DBMS_XDB_VERSION.GETCONTENTSXMLBYRESID(
   resid      DBMS_XDB.resid_type)
 RETURN XMLType;

パラメータ

表186-6 GETCONTENTSXMLBYRESIDファンクションのパラメータ

パラメータ 説明

resid

リソースID。


戻り値

内容が有効なXMLでない場合、NULLを戻します。

GETPREDECESSORSファンクション

このファンクションは、パス名を指定することによって先行リソースのリストを取得します。

構文

DBMS_XDB_VERSION.GETPREDECESSORS(
   pathname       VARCHAR2) 
 RETURN resid_list_type;

パラメータ

表186-7 GETPREDECESSORSファンクションのパラメータ

パラメータ 説明

pathname

リソースのパス名。


戻り値

pathnameが無効の場合は、例外が発生します。

GETPREDSBYRESIDファンクション

このファンクションは、リソースIDを指定することによって先行リソースのリストを取得します。

構文

DBMS_XDB_VERSION.GETPREDSBYRESID(
   resid      resid_type) 
 RETURN resid_list_type;

パラメータ

表186-8 GETPREDSBYRESIDファンクションのパラメータ

パラメータ 説明

resid

リソースID。


使用上の注意

先行リソースの取得は、pathname別よりRESID別の方が効率的です。

例外

RESIDが無効の場合は、例外が発生します。

GETRESOURCEBYRESIDファンクション

このファンクションは、リソース・オブジェクトIDを指定して、リソースをXMLTypeとして取得します。システムではバージョン用のパス名を作成しないため、このファンクションは、リソースIDを使用してリソースを取得するときに役立ちます。

構文

DBMS_XDB_VERSION.GETRESOURCEBYRESID(
   resid      resid_type) 
 RETURN XMLType;

パラメータ

表186-9 GETRESOURCEBYRESIDファンクションのパラメータ

パラメータ 説明

resid

リソースID。


GETSUCCESSORSファンクション

バージョン・リソースまたはVCRを指定して、後続リソースのリストをパス名別に取得します。

構文

DBMS_XDB_VERSION.GETSUCCESSORS( 
   pathname VARCHAR2) 
 RETURN resid_list_type;

パラメータ

表186-10 GETSUCCESSORSファンクションのパラメータ

パラメータ 説明

pathname

リソースのパス名。


使用上の注意

後続リソースの取得は、pathname別よりRESID別の方が効率的です。

例外

pathnameが無効の場合は、例外が発生します。

GETSUCCSBYRESIDファンクション

このファンクションは、バージョン・リソースまたはVCRを指定して、後続リソースのリストをリソースID別に取得します。

構文

DBMS_XDB_VERSION.GETSUCCSBYRESID(
   resid    resid_type) 
  RETURN resid_list_type;

パラメータ

表186-11 GETSUCCSBYRESIDファンクションのパラメータ

パラメータ 説明

resid

リソースID。


使用上の注意

後続リソースの取得は、pathname別よりRESID別の方が効率的です。

例外

pathnameが無効の場合は、例外が発生します。

MAKEVERSIONEDファンクション

このファンクションは、指定されたパス名の標準リソースをバージョン管理されたリソースに変換します。これによって、この新規リソースはバージョン管理の対象になります。他のすべてのパス名は、元のリソースを参照し続けます。

構文

DBMS_XDB_VERSION.MAKEVERSIONED(
   pathname   VARCHAR2) 
 RETURN DBMS_XDB.resid_type;

パラメータ

表186-12 MAKEVERSIONEDファンクションのパラメータ

パラメータ 説明

pathname

バージョン管理の対象にするリソースのパス名。


戻り値

このファンクションは、VCRの最初のバージョン(ルート)のリソースIDを戻します。

使用上の注意

複数のパス名が同じリソースにバインドされている場合は、リソースのコピーが作成され、指定したパス名が、新たに作成されたコピーにバインドされます。

これは、自動コミットのSQL操作ではありません。リソースが存在しない場合は、例外が発生します。

  • このコールはVCRに対して有効で、例外や警告は発生しません。

  • このコールは、フォルダ、バージョン履歴、バージョン・リソースおよびACLに対しては無効です。

  • スキーマに基づいたリソースはサポートされていません。

UNCHECKOUTファンクション

このファンクションは、チェックアウトされたリソースをチェックインし、リソースがチェックアウトされる前にバージョンのリソースIDを戻します。

構文

DBMS_XDB_VERSION.UNCHECKOUT(
   pathname    VARCHAR2) 
 RETURN DBMS_XDB.resid_type;

パラメータ

表186-13 UNCHECKOUTファンクションのパラメータ

パラメータ 説明

pathname

チェックアウトされたリソースのパス名。


使用上の注意

これは、自動コミットのSQL操作ではありません。UNCHECKOUTファンクションでは、CHECKOUTプロシージャによって操作に渡したパス名と同じパス名を使用する必要はありません。ただし、操作が正しく行われるには、UNCHECKOUTファンクションCHECKOUTプロシージャのパス名が同じリソースのパス名であることが必要です。リソースの名前が変更されている場合、変更前の名前はすでに無効になっているか、現在は別のリソースにバインドされているため、UNCHECKOUTファンクションでは新規の名前を使用する必要があります。パス名が変更されている場合、リソースのUNCHECKOUTファンクションでは新規のパス名を使用する必要があります。

例外

パス名が存在しない場合は、例外が発生します。