プライマリ・コンテンツに移動
Oracle® Database PL/SQLパッケージおよびタイプ・リファレンス
12c リリース1 (12.1)
B71281-05
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

169 DBMS_TRANSFORM

DBMS_TRANSFORMパッケージは、Oracle Advanced Queuingのメッセージ形式の変換機能へのインタフェースを提供します。


関連項目:

メッセージ形式の変換の詳細は、『Oracle Databaseアドバンスト・キューイング・ユーザーズ・ガイド』を参照してください。

この章では、次の項目について説明します。

DBMS_TRANSFORMサブプログラムの要約

表169-1 DBMS_TRANSFORMパッケージのサブプログラム

サブプログラム 説明

CREATE_TRANSFORMATIONプロシージャ


ソース・タイプのオブジェクトをターゲット・タイプのオブジェクトにマップする変換を作成します。

DROP_TRANSFORMATIONプロシージャ


指定した変換を削除します。

MODIFY_TRANSFORMATIONプロシージャ


既存の変換を変更します。


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)); 

パラメータ

表169-2 CREATE_TRANSFORMATIONプロシージャのパラメータ

パラメータ 説明

schema

変換のスキーマを指定します。

name

変換名を指定します。

from_schema

ソース・タイプのスキーマを指定します。

from_type

ソース・タイプを指定します。

to_schema

ターゲット・タイプのスキーマを指定します。

to_type

ターゲット・タイプを指定します。

transformation

ターゲット・タイプのオブジェクトを戻す変換式を指定します。式は、ターゲット・タイプのオブジェクトを戻すファンクションまたはターゲット・タイプのコンストラクタ式にする必要があります。変換式を指定せずに、MODIFY_TRANSFORMATIONを使用してターゲット・タイプの属性の変換を指定することも可能です。


使用上の注意

  • 変換式は、ターゲット・タイプの指定した属性のタイプを戻すSQL式またはPL/SQLファンクションにする必要があります。

  • 変換を作成、変更または削除するには、ユーザーがDBMS_TRANSFORMの実行権限を付与されている必要があります。さらに、ユーザーは変換のソース・タイプおよびターゲット・タイプであるユーザー定義タイプに対する実行権限も必要です。また、変換ファンクションで使用されるPLSQLファンクションの実行権限も必要です。

  • 変換では、データベース状態の書込み(DML実行)、現在の変換のコミットおよびロールバックを実行できません。

  • 変換は、ソース・タイプを入力タイプとし、ターゲット・タイプのオブジェクトを戻すSQLファンクションにする必要があります。さらに、ソース・タイプを参照するターゲット・タイプのSQL式でも可能です。ソース・タイプのすべての参照は、source.user_dataの形式にする必要があります。

  • ソース・タイプとターゲット・タイプはともに非スカラー・データベース・タイプである必要があります。NULL変換式はNULLターゲット・オブジェクトにマップします。

エンキューおよびデキュー時に変換を使用する場合、操作を起動するログイン・ユーザーは変換で使用されるPL/SQLファンクションの実行権限が必要です。伝播のため、キューの所有スキーマにはこれらの権限が必要です。

DROP_TRANSFORMATIONプロシージャ

このプロシージャは、指定した変換を削除します。

構文

DBMS_TRANSFORM.DROP_TRANSFORMATION (

schema VARCHAR2(30),

    name        VARCHAR2(30));

パラメータ

表169-3 DROP_TRANSFORMATIONプロシージャのパラメータ

パラメータ 説明

schema

変換のスキーマを指定します。

name

変換名を指定します。


MODIFY_TRANSFORMATIONプロシージャ

このプロシージャは、指定した変換の変換式を変更します。

構文

DBMS_TRANSFORM.MODIFY_TRANSFORMATION (
   schema             VARCHAR2(30),
   name               VARCHAR2(30),
   attribute_number   INTEGER,
   transformation     VARCHAR2(4000));

パラメータ

表169-4 MODIFY_TRANSFORMATIONプロシージャのパラメータ

パラメータ 説明

schema

変換のスキーマを指定します。

name

変換名を指定します。

attribute_number

新しい変換式を指定するターゲット・タイプの属性。ターゲット・タイプの単一の式として、新しい変換を指定する場合、0(ゼロ)の値を指定します。

transformation

変換式は、ターゲット・タイプの指定した属性のタイプを戻すSQL式またはPL/SQLファンクションにする必要があります。attribute_numberが0(ゼロ)の場合、式は、ターゲット・タイプのオブジェクトを戻すPL/SQLファンクションまたはターゲット・タイプのコンストラクタ式にする必要があります。


使用上の注意

  • 新しい変換がターゲット・タイプの単一式である場合、attribute_numberを0(ゼロ)で指定できます。さらに、ターゲット・タイプの属性ごとに新しい変換を指定できます。

  • このプロシージャを使用して、ターゲット・タイプの各属性に対する個別の式として、変換を定義できます。大規模な変換の場合、この表現は読み取りやすく、アプリケーションで変換をより厳密に制御できます。ターゲット・タイプの特定の属性に対し、変換式を指定しないと、それらは変換の適用時にNULLと評価されます。