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);
パラメータ