191 DBMS_XDB_VERSION
Oracle XML DBバージョニング・インタフェースは、DBMS_XBD_VERSION
パッケージに含まれています。DBMS_XDB_VERSION
のファンクションとプロシージャは、バージョン履歴内のVCRの作成とバージョンの管理に役立ちます。
この章では、次の項目について説明します。
191.1 DBMS_XDB_VERSIONのセキュリティ・モデル
DBMS_XDB_VERSION
パッケージは、XDB
が所有しているため、SYS
またはXDB
によって作成される必要があります。EXECUTE
権限は、PUBLIC
に付与されます。このパッケージ内のサブプログラムは、現行のユーザーの権限を使用して実行されます。
191.2 DBMS_XDB_VERSIONサブプログラムの要約
この表は、DBMS_XDB_VERSION
サブプログラムを示し、簡単に説明しています。
表191-1 DBMS_XDB_VERSIONパッケージのサブプログラム
メソッド | 説明 |
---|---|
チェックアウトされたVCRをチェックインし、新規作成されたバージョンのリソースIDを戻します。 |
|
VCRを更新または削除する前にチェックアウトします。 |
|
内容を |
|
内容を |
|
内容を |
|
先行リソースのリストをパス名を指定することによって取得します。 |
|
先行リソースのリストをリソースIDを指定することによって取得します。 |
|
リソース・オブジェクトIDを指定して、リソースを |
|
後続リソースのリストをパス名を指定することによって取得します。 |
|
後続リソースのリストをリソースIDを指定することによって取得します。 |
|
パス名を指定した標準リソースをバージョン管理されたリソースに変換します。 |
|
チェックアウトされたリソースをチェックインし、リソースがチェックアウトされる前にバージョンのリソースIDを戻します。 |
191.2.1 CHECKINファンクション
このファンクションは、チェックアウトされたVCRをチェックインし、新規作成されたバージョンのリソースIDを戻します。
構文
DBMS_XDB_VERSION.CHECKIN( pathname VARCHAR2) RETURN DBMS_XDB.resid_type;
パラメータ
表191-2 CHECKINファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
チェックアウトされたリソースのパス名。 |
使用上のノート
これは、自動コミットのSQL操作ではありません。CHECKINファンクションには、CHECKOUTプロシージャ操作で渡したパス名と同じパス名を取る必要はありません。ただし、操作が正しく行われるには、CHECKINファンクションとCHECKOUTプロシージャのパス名が同じリソースのパス名であることが必要です。リソースの名前が変更されている場合、変更前の名前はすでに無効になっているか、現在は別のリソースにバインドされているため、CHECKINファンクションでは新規の名前を使用する必要があります。パス名が存在しない場合は、例外が発生します。パス名が変更されている場合、リソースのCHECKINファンクションでは新規のパス名を使用する必要があります。
191.2.2 CHECKOUTプロシージャ
このプロシージャは、VCRを更新または削除する前にチェックアウトします。
構文
DBMS_XDB_VERSION.Checkout( pathname VARCHAR2);
パラメータ
表191-3 CHECKOUTプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
チェックアウトするVCRのパス名。 |
使用上のノート
これは、自動コミットのSQL操作ではありません。同じ作業領域の2名のユーザーが、CHECKOUTプロシージャを使用して同時に同じVCRをチェックアウトすることはできません。同時にチェックアウトすると、いずれかのユーザーはロールバックする必要があります。このため、リソースの更新前にCHECKOUTプロシージャ操作をコミットし、トランザクションがロールバックされた場合の更新内容の消失を回避することをお薦めします。指定したリソースがVCRでない場合、VCRがすでにチェックアウトされている場合、またはリソースが存在しない場合は、例外が発生します。
191.2.3 GETCONTENTSBLOBBYRESIDファンクション
このファンクションは、内容をBLOB
として取得します。
構文
DBMS_XDB_VERSION.GETCONTENTSBLOBYRESID( resid DBMS_XDB.resid_type) RETURN BLOB;
パラメータ
表191-4 GETCONTENTSBLOBYRESIDファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
リソースID。 |
191.2.4 GETCONTENTSCLOBBYRESIDファンクション
このファンクションは、内容をCLOB
として取得します。
構文
DBMS_XDB_VERSION.GETCONTENTSCLOBYRESID( resid DBMS_XDB.resid_type) RETURN CLOB;
パラメータ
表191-5 GETCONTENTSCLOBYRESIDファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
リソースID。 |
191.2.5 GETCONTENTSXMLBYRESIDファンクション
このファンクションは、内容をXMLType
として取得します。
構文
DBMS_XDB_VERSION.GETCONTENTSXMLBYRESID( resid DBMS_XDB.resid_type) RETURN XMLType;
パラメータ
表191-6 GETCONTENTSXMLBYRESIDファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
リソースID。 |
戻り値
内容が有効なXMLでない場合、NULL
を戻します。
191.2.6 GETPREDECESSORSファンクション
このファンクションは、パス名を指定することによって先行リソースのリストを取得します。
構文
DBMS_XDB_VERSION.GETPREDECESSORS( pathname VARCHAR2) RETURN resid_list_type;
パラメータ
表191-7 GETPREDECESSORSファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
リソースのパス名。 |
戻り値
pathname
が無効の場合は、例外が発生します。
191.2.7 GETPREDSBYRESIDファンクション
このファンクションは、リソースIDを指定することによって先行リソースのリストを取得します。
構文
DBMS_XDB_VERSION.GETPREDSBYRESID( resid resid_type) RETURN resid_list_type;
パラメータ
表191-8 GETPREDSBYRESIDファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
リソースID。 |
使用上のノート
先行リソースの取得は、pathname
別よりRESID
別の方が効率的です。
例外
RESID
が無効の場合は、例外が発生します。
191.2.8 GETRESOURCEBYRESIDファンクション
このファンクションは、リソース・オブジェクトIDを指定して、リソースをXMLType
として取得します。システムではバージョン用のパス名を作成しないため、このファンクションは、リソースIDを使用してリソースを取得するときに役立ちます。
構文
DBMS_XDB_VERSION.GETRESOURCEBYRESID( resid resid_type) RETURN XMLType;
パラメータ
表191-9 GETRESOURCEBYRESIDファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
リソースID。 |
191.2.9 GETSUCCESSORSファンクション
バージョン・リソースまたはVCRを指定して、後続リソースのリストをパス名別に取得します。
構文
DBMS_XDB_VERSION.GETSUCCESSORS( pathname VARCHAR2) RETURN resid_list_type;
パラメータ
表191-10 GETSUCCESSORSファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
リソースのパス名。 |
使用上のノート
後続リソースの取得は、pathname
別よりRESID
別の方が効率的です。
例外
pathname
が無効の場合は、例外が発生します。
191.2.10 GETSUCCSBYRESIDファンクション
このファンクションは、バージョン・リソースまたはVCRを指定して、後続リソースのリストをリソースID別に取得します。
構文
DBMS_XDB_VERSION.GETSUCCSBYRESID( resid resid_type) RETURN resid_list_type;
パラメータ
表191-11 GETSUCCSBYRESIDファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
リソースID。 |
使用上のノート
後続リソースの取得は、pathname
別よりRESID
別の方が効率的です。
例外
pathname
が無効の場合は、例外が発生します。
191.2.11 MAKEVERSIONEDファンクション
このファンクションは、指定されたパス名の標準リソースをバージョン管理されたリソースに変換します。これによって、この新規リソースはバージョン管理の対象になります。他のすべてのパス名は、引続き元のリソースを参照します。
構文
DBMS_XDB_VERSION.MAKEVERSIONED( pathname VARCHAR2) RETURN DBMS_XDB.resid_type;
パラメータ
表191-12 MAKEVERSIONEDファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
バージョン管理の対象にするリソースのパス名。 |
戻り値
このファンクションは、VCRの最初のバージョン(ルート)のリソースIDを戻します。
使用上のノート
複数のパス名が同じリソースにバインドされている場合は、リソースのコピーが作成され、指定したパス名が、新たに作成されたコピーにバインドされます。
これは、自動コミットのSQL操作ではありません。リソースが存在しない場合は、例外が発生します。
-
このコールはVCRに対して有効で、例外や警告は発生しません。
-
このコールは、フォルダ、バージョン履歴、バージョン・リソースおよびACLに対しては無効です。
-
スキーマに基づいたリソースはサポートされていません。
191.2.12 UNCHECKOUTファンクション
このファンクションは、チェックアウトされたリソースをチェックインし、リソースがチェックアウトされる前にバージョンのリソースIDを戻します。
構文
DBMS_XDB_VERSION.UNCHECKOUT( pathname VARCHAR2) RETURN DBMS_XDB.resid_type;
パラメータ
表191-13 UNCHECKOUTファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
チェックアウトされたリソースのパス名。 |
使用上のノート
これは、自動コミットのSQL操作ではありません。UNCHECKOUTファンクションでは、CHECKOUTプロシージャによって操作に渡したパス名と同じパス名を使用する必要はありません。ただし、操作が正しく行われるには、UNCHECKOUTファンクションとCHECKOUTプロシージャのパス名が同じリソースのパス名であることが必要です。リソースの名前が変更されている場合、変更前の名前はすでに無効になっているか、現在は別のリソースにバインドされているため、UNCHECKOUTファンクションでは新規の名前を使用する必要があります。パス名が変更されている場合、リソースのUNCHECKOUTファンクションでは新規のパス名を使用する必要があります。
例外
パス名が存在しない場合は、例外が発生します。