173 DBMS_TRANSFORM
DBMS_TRANSFORM
パッケージは、Oracle Advanced Queuingのメッセージ形式の変換機能へのインタフェースを提供します。
この章では、次の項目について説明します。
参照:
メッセージ形式の変換の詳細は、『Oracle Databaseアドバンスト・キューイング・ユーザーズ・ガイド』を参照してください。
173.1 DBMS_TRANSFORMサブプログラムの要約
この表は、DBMS_TRANSFORM
サブプログラムを示し、簡単に説明しています。
表173-1 DBMS_TRANSFORMパッケージのサブプログラム
サブプログラム | 説明 |
---|---|
ソース・タイプのオブジェクトをターゲット・タイプのオブジェクトにマップする変換を作成します。 |
|
指定した変換を削除します。 |
|
既存の変換を変更します。 |
173.1.1 CREATE_TRANSFORMATIONプロシージャ
このプロシージャは、ソース・タイプのオブジェクトをターゲット・タイプのオブジェクトにマップする変換を作成します。変換式は、SQL式またはPL/SQLファンクションのどちらでも作成できます。ターゲット・タイプのオブジェクトを戻す必要があります。
構文
DBMS_TRANSFORM.CREATE_TRANSFORMATION ( schema VARCHAR2(30), name VARCHAR2(30), from_schema VARCHAR2(30), from_type VARCHAR2(30), to_schema VARCHAR2(30), to_type VARCHAR2(30), transformation VARCHAR2(4000));
パラメータ
表173-2 CREATE_TRANSFORMATIONプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
変換のスキーマを指定します。 |
|
変換名を指定します。 |
|
ソース・タイプのスキーマを指定します。 |
|
ソース・タイプを指定します。 |
|
ターゲット・タイプのスキーマを指定します。 |
|
ターゲット・タイプを指定します。 |
|
ターゲット・タイプのオブジェクトを戻す変換式を指定します。式は、ターゲット・タイプのオブジェクトを戻すファンクションまたはターゲット・タイプのコンストラクタ式にする必要があります。変換式を指定せずに、 |
使用上のノート
-
変換式は、ターゲット・タイプの指定した属性のタイプを戻すSQL式またはPL/SQLファンクションにする必要があります。
-
変換を作成、変更または削除するには、ユーザーが
DBMS_TRANSFORM
の実行権限を付与されている必要があります。さらに、ユーザーは変換のソース・タイプおよびターゲット・タイプであるユーザー定義タイプに対する実行権限も必要です。また、変換ファンクションで使用されるPLSQLファンクションの実行権限も必要です。 -
変換では、データベース状態の書込み(DML実行)、現在の変換のコミットおよびロールバックを実行できません。
-
変換は、ソース・タイプを入力タイプとし、ターゲット・タイプのオブジェクトを戻すSQLファンクションにする必要があります。さらに、ソース・タイプを参照するターゲット・タイプのSQL式でも可能です。ソース・タイプのすべての参照は、
source.user_data
の形式にする必要があります。 -
ソース・タイプとターゲット・タイプはともに非スカラー・データベース・タイプである必要があります。NULL変換式はNULLターゲット・オブジェクトにマップします。
エンキューおよびデキュー時に変換を使用する場合、操作を起動するログイン・ユーザーは変換で使用されるPL/SQLファンクションの実行権限が必要です。伝播のため、キューの所有スキーマにはこれらの権限が必要です。
173.1.2 DROP_TRANSFORMATIONプロシージャ
このプロシージャは、指定した変換を削除します。
構文
DBMS_TRANSFORM.DROP_TRANSFORMATION (
schema VARCHAR2(30),
name VARCHAR2(30));
パラメータ
表173-3 DROP_TRANSFORMATIONプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
変換のスキーマを指定します。 |
|
変換名を指定します。 |
173.1.3 MODIFY_TRANSFORMATIONプロシージャ
このプロシージャは、指定した変換の変換式を変更します。
構文
DBMS_TRANSFORM.MODIFY_TRANSFORMATION ( schema VARCHAR2(30), name VARCHAR2(30), attribute_number INTEGER, transformation VARCHAR2(4000));
パラメータ
表173-4 MODIFY_TRANSFORMATIONプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
変換のスキーマを指定します。 |
|
変換名を指定します。 |
|
新しい変換式を指定するターゲット・タイプの属性。ターゲット・タイプの単一の式として、新しい変換を指定する場合、0(ゼロ)の値を指定します。 |
|
変換式は、ターゲット・タイプの指定した属性のタイプを戻すSQL式またはPL/SQLファンクションにする必要があります。attribute_numberが0(ゼロ)の場合、式は、ターゲット・タイプのオブジェクトを戻すPL/SQLファンクションまたはターゲット・タイプのコンストラクタ式にする必要があります。 |
使用上のノート
-
新しい変換がターゲット・タイプの単一式である場合、
attribute_number
を0(ゼロ)で指定できます。さらに、ターゲット・タイプの属性ごとに新しい変換を指定できます。 -
このプロシージャを使用して、ターゲット・タイプの各属性に対する個別の式として、変換を定義できます。大規模な変換の場合、この表現は読み取りやすく、アプリケーションで変換をより厳密に制御できます。ターゲット・タイプの特定の属性に対し、変換式を指定しないと、それらは変換の適用時にNULLと評価されます。