Oracle XML DBバージョニングAPIは、DBMS_XBD_VERSION
パッケージに含まれています。 DBMS_XDB_VERSION
のファンクションとプロシージャは、バージョン履歴内のVCRの作成とバージョンの管理に役立ちます。
この章では、次の項目について説明します。
関連項目: 『Oracle XML DB開発者ガイド』 |
表151-1 DBMS_XDB_VERSIONパッケージのサブプログラム
メソッド | 説明 |
---|---|
|
チェックアウトされたVCRをチェックインし、新規作成されたバージョンのリソースIDを戻します。 |
|
VCRを更新または削除する前にチェックアウトします。 |
|
内容を |
|
内容を |
|
内容を |
|
先行リソースのリストをパス名を指定することによって取得します。 |
|
先行リソースのリストをリソースIDを指定することによって取得します。 |
|
リソース・オブジェクトIDを指定して、リソースを |
|
後続リソースのリストをパス名を指定することによって取得します。 |
|
後続リソースのリストをリソースIDを指定することによって取得します。 |
|
パス名を指定した標準リソースをバージョン管理されたリソースに変換します。 |
|
チェックアウトされたリソースをチェックインし、リソースがチェックアウトされる前にバージョンのリソースIDを戻します。 |
このファンクションは、チェックアウトされたVCRをチェックインし、新規作成されたバージョンのリソースIDを戻します。
構文
DBMS_XDB_VERSION.CHECKIN( pathname VARCHAR2) RETURN DBMS_XDB.resid_type;
パラメータ
使用上の注意
これは、自動コミットのSQL操作ではありません。CHECKINファンクションには、CHECKOUTプロシージャ操作で渡したパス名と同じパス名を取る必要はありません。ただし、操作が正しく行われるには、CHECKINファンクションとCHECKOUTプロシージャのパス名が同じリソースのパス名であることが必要です。リソースの名前が変更されている場合、変更前の名前はすでに無効になっているか、現在は別のリソースにバインドされているため、CHECKINファンクションでは新規の名前を使用する必要があります。パス名が存在しない場合は、例外が発生します。パス名が変更されている場合、リソースのCHECKINファンクションでは新規のパス名を使用する必要があります。
このプロシージャは、VCRを更新または削除する前にチェックアウトします。
構文
DBMS_XDB_VERSION.Checkout( pathname VARCHAR2);
パラメータ
使用上の注意
これは、自動コミットのSQL操作ではありません。同じ作業領域の2名のユーザーが、CHECKOUTプロシージャを使用して同時に同じVCRをチェックアウトすることはできません。同時にチェックアウトすると、いずれかのユーザーはロールバックする必要があります。このため、リソースの更新前にCHECKOUTプロシージャ操作をコミットし、トランザクションがロールバックされた場合の更新内容の消失を回避することをお薦めします。指定したリソースがVCRでない場合、VCRがすでにチェックアウトされている場合、またはリソースが存在しない場合は、例外が発生します。
このファンクションは、内容をBLOB
として取得します。
構文
DBMS_XDB_VERSION.GETCONTENTSBLOBYRESID( resid DBMS_XDB.resid_type) RETURN BLOB;
パラメータ
このファンクションは、内容をCLOB
として取得します。
構文
DBMS_XDB_VERSION.GETCONTENTSCLOBYRESID( resid DBMS_XDB.resid_type) RETURN CLOB;
パラメータ
このファンクションは、内容をXMLType
として取得します。
構文
DBMS_XDB_VERSION.GETCONTENTSXMLBYRESID( resid DBMS_XDB.resid_type) RETURN XMLType;
パラメータ
戻り値
内容が有効なXMLでない場合、NULL
を戻します。
このファンクションは、パス名を指定することによって先行リソースのリストを取得します。
構文
DBMS_XDB_VERSION.GETPREDECESSORS( pathname VARCHAR2) RETURN resid_list_type;
パラメータ
戻り値
PATHNAME
が無効の場合は、例外が発生します。
このファンクションは、リソースIDを指定することによって先行リソースのリストを取得します。
構文
DBMS_XDB_VERSION.GETPREDSBYRESID( resid resid_type) RETURN resid_list_type;
パラメータ
使用上の注意
先行リソースの取得は、PATHNAME
別よりRESID
別の方が効率的です。
例外
RESID
が無効の場合は、例外が発生します。
このファンクションは、リソース・オブジェクトIDを指定して、リソースをXMLType
として取得します。システムではバージョン用のパス名を作成しないため、このファンクションは、リソースIDを使用してリソースを取得するときに役立ちます。
構文
DBMS_XDB_VERSION.GETRESOURCEBYRESID( resid resid_type) RETURN XMLType;
パラメータ
バージョン・リソースまたはVCRを指定して、後続リソースのリストをパス名別に取得します。
構文
DBMS_XDB_VERSION.GETSUCCESSORS( pathname VARCHAR2) RETURN resid_list_type;
パラメータ
使用上の注意
後続リソースの取得は、PATHNAME
別よりRESID
別の方が効率的です。
例外
PATHNAME
が無効の場合は、例外が発生します。
このファンクションは、バージョン・リソースまたはVCRを指定して、後続リソースのリストをリソースID別に取得します。
構文
DBMS_XDB_VERSION.GETSUCCSBYRESID( resid resid_type) RETURN resid_list_type;
パラメータ
使用上の注意
後続リソースの取得は、PATHNAME
別よりRESID
別の方が効率的です。
例外
PATHNAME
が無効の場合は、例外が発生します。
このファンクションは、指定されたパス名の標準リソースをバージョン管理されたリソース(VCR)に変換します。これによって、この新規リソースはバージョン管理の対象になります。他のすべてのパス名は、元のリソースを参照し続けます。
構文
DBMS_XDB_VERSION.MAKEVERSIONED( pathname VARCHAR2) RETURN DBMS_XDB.resid_type;
パラメータ
戻り値
このファンクションは、VCRの最初のバージョン(ルート)のリソースIDを戻します。
使用上の注意
複数のパス名が同じリソースにバインドされている場合は、リソースのコピーが作成され、指定したパス名が、新たに作成されたコピーにバインドされます。
これは、自動コミットのSQL操作ではありません。リソースが存在しない場合は、例外が発生します。
このコールはVCRに対して有効で、例外や警告は発生しません。
このコールは、フォルダ、バージョン履歴、バージョン・リソースおよびACLに対しては無効です。
スキーマに基づいたリソースはサポートされていません。
このファンクションは、チェックアウトされたリソースをチェックインし、リソースがチェックアウトされる前にバージョンのリソースIDを戻します。
構文
DBMS_XDB_VERSION.UNCHECKOUT( pathname VARCHAR2) RETURN DBMS_XDB.resid_type;
パラメータ
使用上の注意
これは、自動コミットのSQL操作ではありません。UNCHECKOUTファンクションには、CHECKOUTプロシージャ操作で渡したパス名と同じパス名を取る必要はありません。ただし、操作が正しく行われるには、UNCHECKOUTファンクションとCHECKOUTプロシージャのパス名が同じリソースのパス名であることが必要です。リソースの名前が変更されている場合、変更前の名前はすでに無効になっているか、現在は別のリソースにバインドされているため、UNCHECKOUTファンクションでは新規の名前を使用する必要があります。パス名が変更されている場合、リソースのUNCHECKOUTファンクションでは新規のパス名を使用する必要があります。
例外
パス名が存在しない場合は、例外が発生します。