DBMS_XEVENTパッケージは、イベント関連のタイプおよびサポートするサブプログラムを提供します。
関連項目: Oracle XML DBリポジトリ・イベントの詳細は、『Oracle XML DB開発者ガイド』を参照してください。 |
この章では、次の項目について説明します。
定数
XDBEvent
タイプのサブプログラム
XDBRepositoryEvent
タイプのサブプログラム
XDBHandlerList
タイプのサブプログラム
XDBHandler
タイプのサブプログラム
XDBPath
タイプのサブプログラム
XDBLink
タイプのサブプログラム
DBMS_XEVENT
パッケージでは、表154-1に示す定数が使用されます。
表154-1 DBMS_XEVENTの定数
名前 | 型 | 値 | 説明 |
---|---|---|---|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
4 |
|
|
|
|
|
|
|
6 |
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
10 |
|
|
|
|
|
|
|
12 |
|
|
|
13 |
|
|
|
14 |
|
|
|
|
|
|
|
16 |
|
|
|
|
|
|
|
|
|
|
|
19 |
|
|
|
|
|
|
|
21 |
|
|
|
22 |
|
|
|
23 |
|
|
|
24 |
|
|
|
25 |
|
|
|
26 |
|
|
|
27 |
|
|
|
28 |
|
|
|
29 |
|
|
|
30 |
|
|
|
21 |
|
|
|
21 |
このサブプログラム・グループでは、XDBEventタイプと一緒に使用するインタフェースを提供しています。
表154-2 XDBEventのサブプログラム
サブプログラム | 説明 |
---|---|
|
イベントをトリガーする操作を実行するユーザーの名前を戻します。 |
|
トリガーするイベントを識別する値を戻します。 |
|
入力した引数が |
このパッケージ内のすべてのサブプログラムのリストは、「DBMS_XEVENTサブプログラムの要約」を参照してください。
このサブプログラム・グループでは、XDBRepositoryEventタイプと一緒に使用するインタフェースが提供されています。
表154-3 XDBRepositoryEventのサブプログラム
サブプログラム | 説明 |
---|---|
|
起動するハンドラを定義するリソース構成から抽出された |
|
現在実行中のハンドラの後に実行されるハンドラのリストを含む |
|
イベントをトリガーする操作を開始するときに使用するトップレベルのインタフェースを戻します。 |
|
ターゲット・リソースの |
|
現在の操作に対応するロック・オブジェクトを戻します。 |
|
操作が実行される前の元の |
|
オープン操作のアクセス・モードを戻します。 |
|
オープン操作の拒否モードを戻します。 |
|
表示されるデータをハンドラが書き込むことができる出力BLOBを戻します。 |
|
要求固有またはセッション固有のパラメータの値を戻します。 |
|
ターゲット・リソースの親フォルダに対応するリソース・オブジェクトを戻します。 |
|
イベントが起動されたリソースのパスを表す |
|
ターゲット・リソースの内容やメタデータにアクセスして変更するための手段を提供する |
|
現在の操作がバイト範囲書込みの場合、バイト数を戻します。 |
|
現在の操作がバイト範囲書込みの場合、ファンクションは範囲の開始点となるバイト・オフセットを戻します。 |
|
|
|
入力した引数が |
|
表示された内容を含むリソースのパスを指定します。 |
|
表示される内容を読み取ることができる |
このパッケージ内のすべてのサブプログラムのリストは、「DBMS_XEVENTサブプログラムの要約」を参照してください。
このサブプログラム・グループでは、XDBHandlerListタイプと一緒に使用するインタフェースが提供されています。
表154-4 XDBHandlerListのサブプログラム
サブプログラム | 説明 |
---|---|
|
ハンドラ・リストをクリアします。 |
|
リスト内の最初のハンドラを戻します。 |
|
リスト内の次のハンドラを戻します。 |
|
入力した引数が |
|
指定のハンドラをハンドラ・リストから削除します。 |
このパッケージ内のすべてのサブプログラムのリストは、「DBMS_XEVENTサブプログラムの要約」を参照してください。
このサブプログラム・グループでは、XDBHandlerタイプと一緒に使用するインタフェースが提供されています。
表154-5 XDBHandlerタイプのサブプログラム
サブプログラム | 説明 |
---|---|
|
ハンドラの実装言語を戻します。 |
|
ハンドラのソースのスキーマを戻します。 |
|
ハンドラを実装するJavaクラス、PL/SQLパッケージまたはオブジェクト・タイプの名前を戻します。 |
|
入力した引数が |
このパッケージ内のすべてのサブプログラムのリストは、「DBMS_XEVENTサブプログラムの要約」を参照してください。
このサブプログラム・グループでは、XDBPathタイプと一緒に使用するインタフェースが提供されています。
このパッケージ内のすべてのサブプログラムのリストは、「DBMS_XEVENTサブプログラムの要約」を参照してください。
このサブプログラム・グループでは、XDBLinkタイプと一緒に使用するインタフェースが提供されています。
表154-7 XDBLinkタイプのサブプログラム
サブプログラム | 説明 |
---|---|
|
リンクが指しているリソースのOIDを戻します。 |
|
リンクの親フォルダの名前を戻します。 |
|
リンクの親フォルダのOIDを戻します。 |
|
入力した引数が |
このパッケージ内のすべてのサブプログラムのリストは、「DBMS_XEVENTサブプログラムの要約」を参照してください。
表154-8 DBMS_XEVENTパッケージのサブプログラム
サブプログラム | 説明 | グループ |
---|---|---|
|
ハンドラ・リストをクリアします。 |
|
|
起動するハンドラを定義するリソース構成から抽出された |
|
|
リンクが指しているリソースのOIDを戻します。 |
|
|
イベントをトリガーする操作を実行するユーザーの名前を戻します。 |
|
|
トリガーするイベントを識別する値を戻します。 |
|
|
リスト内の最初のハンドラを戻します。 |
|
|
現在実行中のハンドラの後に実行されるハンドラのリストを含む |
|
|
イベントをトリガーする操作を開始するときに使用するトップレベルのインタフェースを戻します。 |
|
|
ハンドラの実装言語を戻します。 |
|
|
ターゲット・リソースの |
|
|
現在の操作に対応するロック・オブジェクトを戻します。 |
|
|
パスの文字列表現を戻します。 |
|
|
リスト内の次のハンドラを戻します。 |
|
|
操作が実行される前の元の |
|
|
オープン操作のアクセス・モードを戻します。 |
|
|
オープン操作の拒否モードを戻します。 |
|
|
表示されるデータをハンドラが書き込むことができる出力BLOBを戻します。 |
|
|
要求固有またはセッション固有のパラメータの値を戻します。 |
|
|
ターゲット・リソースの親フォルダに対応するリソース・オブジェクトを戻します。 |
|
|
リンクの親フォルダの名前を戻します。 |
|
|
リンクの親フォルダのOIDを戻します。 |
|
|
親のパスを戻します。 |
|
|
イベントが起動されたリソースのパスを表す |
|
|
ターゲット・リソースの内容やメタデータにアクセスして変更するための手段を提供する |
|
|
ハンドラのソースのスキーマを戻します。 |
|
|
ハンドラを実装するJavaクラス、PL/SQLパッケージまたはオブジェクト・タイプの名前を戻します。 |
|
|
現在の操作がバイト範囲書込みの場合、バイト数を戻します。 |
|
|
現在の操作がバイト範囲書込みの場合、ファンクションは範囲の開始点となるバイト・オフセットを戻します。 |
|
|
|
|
|
入力した引数が |
|
|
指定のハンドラをハンドラ・リストから削除します。 |
|
|
表示された内容を含むリソースのパスを指定します。 |
|
|
表示される内容を読み取ることができる |
|
このプロシージャは、ハンドラ・リストをクリアします。
構文
DBMS_XEVENT.CLEAR ( hl IN OUT XDBHandlerList);
パラメータ
このファンクションは、起動するハンドラを定義するリソース構成から抽出された<applicationData>
要素を戻します。
構文
DBMS_XEVENT.GETAPPLICATIONDATA ( ev IN XDBRepositoryEvent) RETURN XMLType;
パラメータ
このファンクションは、リンクが指しているリソースのOIDを戻します。
構文
DBMS_XEVENT.GETCHILDOID ( link IN XDBLink) RETURN RAW;
パラメータ
このファンクションは、イベントをトリガーする操作を実行するユーザーの名前を戻します。
構文
DBMS_XEVENT.GETCURRENTUSER ( ev IN XDBEvent) RETURN VARCHAR2;
パラメータ
このファンクションは、イベントをトリガーする操作を実行するユーザーの名前を戻します。
構文
DBMS_XEVENT.GETEVENT ( ev IN XDBEvent) RETURN XDBEventID;
パラメータ
このファンクションは、リスト内の最初のハンドラを戻します。
構文
DBMS_XEVENT.GETFIRST ( hl IN XDBHandlerList) RETURN XDBHandler;
パラメータ
このファンクションは、現在実行中のハンドラの後に実行されるハンドラのリストが含まれているXDBHandlerList
オブジェクトを戻します。その後、現在のハンドラはセキュリティ・チェックに従い、必要に応じて後続の一部のハンドラを除外できます。リスト内のハンドラに関連するリソース構成のいずれかに対して必要なアクセス権限が実行ユーザーにない場合、不十分な権限例外が発生します。
構文
DBMS_XEVENT.GETHANDLERLIST ( ev IN XDBRepositoryEvent) RETURN XDBHandlerList;
パラメータ
このファンクションは、イベントをトリガーする操作を開始するときに使用するトップレベルのインタフェースを戻します。これは、HTTP、FTPまたはSQLです。
構文
DBMS_XEVENT.GETINTERFACE ( ev IN XDBRepositoryEvent) RETURN VARCHAR2;
パラメータ
このファンクションは、ハンドラの実装言語を戻します。
構文
DBMS_XEVENT.GETLANGUAGE ( handler IN XDBHandler) RETURN VARCHAR2;
パラメータ
このファンクションは、ターゲット・リソースのXDBLink
オブジェクトを戻します。 リンク*またはリンク解除*イベントの場合、これは操作に関連するリンクとなります。その他のイベントの場合は、エラーが戻されます。このオブジェクトを使用して、ハンドラは、ParentName
、ParentOID
、ChildOID
、LinkName
などのリンク・プロパティにアクセスできます。
構文
DBMS_XEVENT.GETLINK ( ev IN XDBRepositoryEvent) RETURN XDBLink;
パラメータ
このファンクションは、リンクの名前を戻します。
構文
DBMS_XEVENT.GETLINKNAME ( link IN XDBLink) RETURN VARCHAR2;
パラメータ
このファンクションは、現在の操作に対応するロック・オブジェクトを戻し、ロック・イベントおよびロック解除イベントに対してのみ有効となります。
構文
DBMS_XEVENT.GETLOCK ( ev IN XDBRepositoryEvent) RETURN XDBLock;
パラメータ
このファンクションは、ハンドラの実装言語を戻します。
構文
DBMS_XEVENT.GETLANGUAGE ( handler IN XDBHandler) RETURN VARCHAR2;
パラメータ
このファンクションは、パスの文字列表現を戻します。
構文
DBMS_XEVENT.GETNAME ( path IN XDBPath) RETURN VARCHAR2;
パラメータ
このファンクションは、リスト内の次のハンドラを戻します。
構文
DBMS_XEVENT.GETNEXT ( hl IN XDBHandlerList) RETURN XDBHandler;
パラメータ
このファンクションは、操作が実行される前の元のXDBResource
オブジェクトを戻します。このメソッドは、更新イベントのみに適用されます。その他のイベントの場合は、エラーが戻されます。これは読取り専用オブジェクトであるため、このオブジェクトに対してはいずれの修飾子メソッドも機能しません。
構文
DBMS_XEVENT.GETOLDRESOURCE ( ev IN XDBRepositoryEvent) RETURN XDBResource;
パラメータ
このファンクションは、オープン操作のアクセス・モードを戻します。
構文
DBMS_XEVENT.GETOPENACCESSMODE ( ev IN XDBRepositoryEvent) RETURN PLS_INTEGER;
パラメータ
戻り値
XDBRepositoryEvent
.OPEN_ACCESS_READ
(値1)
XDBRepositoryEvent
.OPEN_ACCESS_WRITE
(値2)
XDBRepositoryEvent
.OPEN_ACCESS_READ_WRITE
(値3)
このファンクションは、オープン操作の拒否モードを戻します。このファンクションは、オープン・イベントに対してのみ有効です。
構文
DBMS_XEVENT.GETOPENDENYMODE ( ev IN XDBRepositoryEvent) RETURN PLS_INTEGER;
パラメータ
戻り値
XDBRepositoryEvent
.OPEN_DENY_NONE
(値0)
XDBRepositoryEvent
.OPEN_DENY_READ
(値1)
XDBRepositoryEvent
.OPEN_DENY_READ_WRITE
(値2)
このファンクションは、表示されるデータをハンドラが書き込むことができる出力BLOBを戻します。このファンクションは、表示イベントに対してのみ有効です。
構文
DBMS_XEVENT.GETOUTPUTSTREAM ( ev IN XDBRepositoryEvent) RETURN BLOB;
パラメータ
このファンクションは、要求固有またはセッション固有のパラメータの値を戻します。key
パラメータの定義は、RFC 2616(HTTP/1.1)にあります。この定義は、同等のSQLセッションのパラメータ(ある場合)にマップされます。
構文
DBMS_XEVENT.GETPARAMETER ( ev IN XDBRepositoryEvent, key IN VARCHAR2) RETURN VARCHAR2;
パラメータ
表154-28 GETPARAMETERファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
XDBRepositoryEventタイプのイベント。 |
key |
次のパラメータがサポートされています。
|
このファンクションは、ターゲット・リソースの親フォルダに対応するリソース・オブジェクトを戻します。このリソース・オブジェクトは、ターゲット・リソースへのリンクが含まれている任意のフォルダである可能性があることに注意してください。これは読取り専用オブジェクトであるため、このオブジェクトに対してはいずれの修飾子メソッドも機能しません。 リンク*またはリンク解除*イベントでは、このメソッドはリンクの親フォルダを戻します。
構文
DBMS_XEVENT.GETPARENT ( ev IN XDBRepositoryEvent) RETURN XDBResource;
パラメータ
このファンクションは、リンクの親フォルダの名前を戻します。
構文
DBMS_XEVENT.GETPARENTNAME ( link IN XDBLink) RETURN VARCHAR2;
パラメータ
このファンクションは、リンクの親フォルダのOIDを戻します。
構文
DBMS_XEVENT.GETPARENTOID ( link IN XDBLink) RETURN RAW;
パラメータ
このファンクションは、親のパスを戻します。レベルは、階層までのレベルの数を示します。この値は0(ゼロ)より大きい必要があります。レベル1は直接の親を示します。レベルがツリーの高さを超える場合、NULL
が戻されます。
構文
DBMS_XEVENT.GETPARENTPATH ( path IN XDBPath, level IN INTEGER) RETURN XDBPath;
パラメータ
このファンクションは、イベントが起動されたリソースのパスを表すXDBPath
オブジェクトを戻します。このオブジェクトから、異なるパス・セグメントの取得にファンクションが使用されます。
構文
DBMS_XEVENT.GETPATH ( ev IN XDBRepositoryEvent) RETURN XDBPath;
パラメータ
このファンクションは、ターゲット・リソースの内容やメタデータにアクセスして変更するための手段を提供するXDBResource
オブジェクトを戻します。このオブジェクトは、以前のハンドラがリソースに対して行ったすべての変更を反映します。
修飾子メソッドは、事前作成イベント・ハンドラおよび事前更新イベント・ハンドラでのみ機能します。 リンク*またはリンク解除*イベントでは、このメソッドはリンクが指すリソースを戻します。作成イベントでは、このメソッドは作成するリソースを戻します。
構文
DBMS_XEVENT.GETRESOURCE ( ev IN XDBRepositoryEvent) RETURN XDBResource;
パラメータ
このファンクションは、ハンドラのソースのスキーマを戻します。
構文
DBMS_XEVENT.GETSCHEMA ( handler IN XDBHandler) RETURN VARCHAR2;
パラメータ
このファンクションは、ハンドラを実装するJavaクラス、PL/SQLパッケージまたはオブジェクト・タイプの名前を戻します。
構文
DBMS_XEVENT.GETSOURCE ( handler IN XDBHandler) RETURN VARCHAR2;
パラメータ
現在の操作がバイト範囲書込みの場合、このファンクションはバイト数を戻します。これは整合性がない更新イベントに対してのみ有効です。
構文
DBMS_XEVENT.GETUPDATEBYTECOUNT ( ev IN XDBRepositoryEvent) RETURN NUMBER;
パラメータ
現在の操作がバイト範囲書込みの場合、ファンクションは範囲の開始点となるバイト・オフセットを戻します。これは整合性がない更新イベントに対してのみ有効です。
構文
DBMS_XEVENT.GETUPDATEBYTEOFFSET ( ev IN XDBRepositoryEvent) RETURN NUMBER;
パラメータ
このファンクションは、XDBRepositoryEvent
オブジェクトをXDBEvent
タイプに変換します。
構文
DBMS_XEVENT.GETXDBETEVENT ( ev IN XDBRepositoryEvent) RETURN XDBEvent;
パラメータ
このファンクションは、入力した引数がNULL
の場合、TRUE
を戻します。
関連項目:
|
構文
DBMS_XEVENT.ISNULL ( ev IN XDBEvent) RETURN BOOLEAN; DBMS_XEVENT.ISNULL ( ev IN XDBRepositoryEvent) RETURN BOOLEAN; DBMS_XEVENT.ISNULL ( hl IN XDBHandlerList) RETURN BOOLEAN; DBMS_XEVENT.ISNULL ( handler IN XDBHandler) RETURN BOOLEAN; RETURN BOOLEAN; DBMS_XEVENT.ISNULL ( path IN XDBPath) RETURN BOOLEAN; DBMS_XEVENT.ISNULL ( link IN XDBLink) RETURN BOOLEAN;
パラメータ
このプロシージャは、指定のハンドラをハンドラ・リストから削除します。
構文
DBMS_XEVENT.REMOVE ( hl IN OUT XDBHandlerList, handler IN XDBHandler);
パラメータ
このプロシージャは、表示された内容を含むリソースのパスを指定します。GETOUTPUTSTREAMファンクションによって戻されたストリームが書き込まれた後、またはSETRENDERSTREAMプロシージャがコールされた後に、このプロシージャをコールしないでください。コールした場合はエラーが発生します。これは表示イベントに対してのみ有効です。
構文
DBMS_XEVENT.SETRENDERPATH ( ev IN XDBRepositoryEvent, path IN VARCHAR2);
パラメータ
このプロシージャは、表示される内容を読み取ることができるBLOB
を設定します。GETOUTPUTSTREAMによって戻されたストリームが書き込まれた後、またはSETRENDERPATHがコールされた後に、このプロシージャをコールしないでください。コールした場合はエラーが発生します。これは表示イベントに対してのみ有効です。
構文
DBMS_XEVENT.SETRENDERSTREAM ( ev IN XDBRepositoryEvent, istr IN BLOB);
パラメータ