ヘッダーをスキップ
Oracle® Databaseアドバンスト・レプリケーション・マネージメントAPIリファレンス
12cリリース1 (12.1)
E52979-02
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

13 DBMS_DEFER_QUERY

DBMS_DEFER_QUERYは、ビューを通じて公開されていない遅延トランザクション・キュー・データの問合せを可能にします。

この章には、次の項が含まれます。

DBMS_DEFER_QUERYサブプログラムの概要

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

サブプログラム 説明

「GET_ARG_FORMファンクション」


遅延コールの引数の形式を判定します。

「GET_ARG_TYPEファンクション」


遅延コールの引数のタイプを判定します。

「GET_CALL_ARGSプロシージャ」


指定されたコールの様々な引数のテキスト・バージョンを戻します。

「GET_datatype_ARGファンクション」


遅延コールの引数値を判定します。

「GET_OBJECT_NULL_VECTOR_ARGファンクション」


列オブジェクトのタイプ情報を戻します。


GET_ARG_FORMファンクション

このファンクションは、遅延コール・パラメータのキャラクタ・セット・フォームを戻します。


関連項目:

Oracle Enterprise Manager Cloud ControlのAdvanced Replicationインタフェースでの遅延トランザクションおよびエラー・トランザクションの表示の詳細は、Advanced Replicationインタフェースのオンライン・ヘルプを参照してください。

構文

DBMS_DEFER_QUERY.GET_ARG_FORM (
   callno                IN   NUMBER,
   arg_no                IN   NUMBER,
   deferred_tran_id      IN   VARCHAR2)
  RETURN NUMBER;

パラメータ

表13-2 GET_ARG_FORMファンクションのパラメータ

パラメータ 説明
callno

DEFCALLビューからのコール識別子です。

arg_no

コールの引数リスト内のパラメータの位置です。指定できるパラメータの位置は、1からコール内のパラメータのまでです。

deferred_tran_id

遅延トランザクションの識別子です。


例外

表13-3 GET_ARG_FORMファンクションの例外

例外 説明
NO_DATA_FOUND

入力パラメータが遅延コールのパラメータに対応しません。


戻り値

表13-4 GET_ARG_FORMファンクションの戻り値

定数戻り値 戻り値 可能なデータ型
DBMS_DEFER_QUERY.ARG_FORM_NONE
0
DATE
NUMBER
ROWID
RAW
BLOB
User-defined types
DBMS_DEFER_QUERY.ARG_FORM_IMPLICIT
1
CHAR
VARCHAR2
CLOB
DBMS_DEFER_QUERY.ARG_FORM_NCHAR
2
NCHAR
NVARCHAR2
NCLOB

GET_ARG_TYPEファンクション

このファンクションは、遅延コールの引数のタイプを判定します。遅延リモート・プロシージャ・コール(Remote Procedure Call: RPC)パラメータのタイプが戻されます。


関連項目:

Oracle Enterprise Manager Cloud ControlのAdvanced Replicationインタフェースでの遅延トランザクションおよびエラー・トランザクションの表示の詳細は、Advanced Replicationインタフェースのオンライン・ヘルプを参照してください。

構文

DBMS_DEFER_QUERY.GET_ARG_TYPE (
   callno            IN   NUMBER,
   arg_no            IN   NUMBER,
   deferred_tran_id  IN   VARCHAR2)
  RETURN NUMBER;

パラメータ

表13-5 GET_ARG_TYPEファンクションのパラメータ

パラメータ 説明
callno

遅延リモート・プロシージャ・コールのDEFCALLビューから渡される識別番号です。

arg_no

タイプを判定するコールへの引数の数値的な位置です。プロシージャへの最初の引数は、1の位置にあります。

deferred_tran_id

遅延トランザクションの識別子です。


例外

表13-6 GET_ARG_TYPEファンクションの例外

例外 説明
NO_DATA_FOUND

入力パラメータが遅延コールのパラメータに対応しません。


戻り値

表13-7 GET_ARG_TYPEファンクションの戻り値

定数戻り値 戻り値 対応するデータ型
DBMS_DEFER_QUERY.ARG_TYPE_VARCHAR2
1
VARCHAR2
DBMS_DEFER_QUERY.ARG_TYPE_NUM
2
NUMBER
DBMS_DEFER_QUERY.ARG_TYPE_ROWID
11
ROWID
DBMS_DEFER_QUERY.ARG_TYPE_DATE
12
DATE
DBMS_DEFER_QUERY.ARG_TYPE_RAW
23
RAW
DBMS_DEFER_QUERY.ARG_TYPE_CHAR
96
CHAR
DBMS_DEFER_QUERY.ARG_TYPE_ANYDATA
109
ANYDATA
DBMS_DEFER_QUERY.ARG_TYPE_CLOB
112
CLOB
DBMS_DEFER_QUERY.ARG_TYPE_BLOB
113
BLOB
DBMS_DEFER_QUERY.ARG_TYPE_BFIL
114
BFILE
DBMS_DEFER_QUERY.ARG_TYPE_OBJECT_NULL_VECTOR
121
OBJECT_NULL_VECTOR
DBMS_DEFER_QUERY.ARG_TYPE_TIMESTAMP
180
TIMESTAMP
DBMS_DEFER_QUERY.ARG_TYPE_TSTZ
181
TSTZ
DBMS_DEFER_QUERY.ARG_TYPE_IYM
182
IYM
DBMS_DEFER_QUERY.ARG_TYPE_IDS
183
IDS
DBMS_DEFER_QUERY.ARG_TYPE_TSLTZ
231
TSLTZ


注意:

  • ANYDATAデータ型は、ユーザー定義型のオブジェクト・タイプ、コレクションおよびREFをサポートしています。ANYDATAデータ型の詳細は、『Oracle Database SQL言語リファレンス』および『Oracle Databaseオブジェクト・リレーショナル開発者ガイド』を参照してください。

  • このファンクションは日時データ型および期間データ型の略称を使用します。たとえば、TIMESTAMP WITH TIME ZONEデータ型にはTSTZが使用されます。これらの略称の詳細は、「日時データ型および期間データ型の略称」を参照してください。


GET_CALL_ARGSプロシージャ

このプロシージャは、指定されたコールの様々な引数のテキスト・バージョンを戻します。テキスト・バージョンは最初の2000バイトに制限されます。


関連項目:

  • 「GET_datatype_ARGファンクション」

  • ANYDATAデータ型の詳細は、『Oracle Database SQL言語リファレンス』および『Oracle Databaseオブジェクト・リレーショナル開発者ガイド』を参照してください。


構文

DBMS_DEFER_QUERY.GET_CALL_ARGS (
   callno    IN  NUMBER,
   startarg  IN  NUMBER := 1,
   argcnt    IN  NUMBER,       
   argsize   IN  NUMBER,     
   tran_db   IN  VARCHAR2, 
   tran_id   IN  VARCHAR2, 
   date_fmt  IN  VARCHAR2, 
   types     OUT TYPE_ARY,  
   forms     OUT TYPE_ARY,
   vals      OUT VAL_ARY);
DBMS_DEFER_QUERY.GET_CALL_ARGS (
   callno         IN  NUMBER,
   startarg       IN  NUMBER := 1,
   argcnt         IN  NUMBER,       
   argsize        IN  NUMBER,     
   tran_id        IN  VARCHAR2, 
   date_fmt       IN  VARCHAR2, 
   time_fmt       IN  VARCHAR2, 
   ttz_fmt        IN  VARCHAR2, 
   timestamp_fmt  IN  VARCHAR2, 
   tstz_fmt       IN  VARCHAR2, 
   types          OUT TYPE_ARY,  
   forms          OUT TYPE_ARY,
   vals           OUT VAL_ARY);
DBMS_DEFER_QUERY.GET_CALL_ARGS (
   callno         IN  NUMBER,
   startarg       IN  NUMBER := 1,
   argcnt         IN  NUMBER,       
   argsize        IN  NUMBER,     
   tran_id        IN  VARCHAR2, 
   date_fmt       IN  VARCHAR2, 
   time_fmt       IN  VARCHAR2, 
   ttz_fmt        IN  VARCHAR2, 
   timestamp_fmt  IN  VARCHAR2, 
   tstz_fmt       IN  VARCHAR2, 
   tsltz_fmt      IN  VARCHAR2, 
   types          OUT TYPE_ARY,  
   forms          OUT TYPE_ARY,
   vals           OUT VAL_ARY);

注意:

このプロシージャはオーバーロードされています。

パラメータ

表13-8 GET_CALL_ARGSプロシージャのパラメータ

パラメータ 説明
callno

遅延リモート・プロシージャ・コール(RPC)のDEFCALLビューから渡される識別番号です。

startarg

記述される最初の引数の数値的な位置です。

argcnt

コール内の引数の数です。

argsize

戻される引数の最大サイズです。

tran_db

トランザクションが開始されたデータベースのグローバル名です。

tran_id

遅延トランザクションの識別子です。

date_fmt

戻される日付の形式です。

time_fmt

戻される時間の形式です。

ttz_fmt

タイムゾーンを含む、戻される時間の形式です。

timestamp_fmt

戻されるタイムスタンプの形式です。

tstz_fmt

タイムゾーンを含む、戻されるタイムスタンプの形式です。

tsltz_fmt

ローカル・タイムゾーンを含む、戻されるタイムスタンプの形式です。

types

引数のタイプを含む配列です。

forms

引数のキャラクタ・セット形式を含む配列です。

vals

テキスト形式の引数値を含む配列です。


例外

表13-9 GET_CALL_ARGSプロシージャの例外

例外 説明
NO_DATA_FOUND

入力パラメータが遅延コールのパラメータに対応しません。


GET_datatype_ARG ファンクション

このファンクションは、遅延コールの引数値を判定します。

ANYDATA型は、ユーザー定義型のオブジェクト型、コレクションおよびREFをサポートしています。このファンクションがサポートする型には、DBMS_DEFERパッケージ内のANYDATA_ARGプロシージャでエンキューできないものもあります。

型引数に戻されるテキストには、型所有者、型名、型バージョン、長さ、精度、スケール、キャラクタ・セット識別子、キャラクタ・セット・フォームおよびコレクションの要素数またはオブジェクト型の属性数の値があります。これらの値はコロン(:)で区切られます。


関連項目:

  • datatype_ARGプロシージャ」

  • Oracle Enterprise Manager Cloud ControlのAdvanced Replicationインタフェースでの遅延トランザクションおよびエラー・トランザクションの表示の詳細は、Advanced Replicationインタフェースのオンライン・ヘルプを参照してください。

  • ANYDATAデータ型の詳細は、『Oracle Database SQL言語リファレンス』および『Oracle Databaseオブジェクト・リレーショナル開発者ガイド』を参照してください。

  • このファンクションは日時データ型および期間データ型の略称を使用します。たとえば、TIMESTAMP WITH TIME ZONEデータ型にはTSTZが使用されます。これらの略称の詳細は、「日時データ型および期間データ型の略称」を参照してください。


構文

取得する引数値のタイプに応じて、該当するファンクションの構文は次のとおりです。これらのファンクションでは、指定された引数の値が戻されます。

DBMS_DEFER_QUERY.GET_datatype_ARG (
   callno             IN   NUMBER,
   arg_no             IN   NUMBER,
   deferred_tran_id   IN   VARCHAR2 DEFAULT NULL)
  RETURN datatype;

datatypeは次のとおりです。

{ ANYDATA
| NUMBER
| VARCHAR2
| CHAR
| DATE
| RAW
| ROWID
| BLOB
| CLOB
| NCLOB
| NCHAR
| NVARCHAR2 
| IDS
| IYM
| TIMESTAMP
| TSLTZ
| TSTZ }

パラメータ

表13-10 GET_datatype_ARGファンクションのパラメータ

パラメータ 説明
callno

遅延リモート・プロシージャ・コールのDEFCALLビューから渡される識別番号です。

arg_no

値を判定するコールへの引数の数値的な位置です。プロシージャへの最初の引数は、1の位置にあります。

deferred_tran_id

遅延トランザクションの識別子です。GET_ARG_TYPEファンクションに渡された、直前のトランザクション識別子が設定されます。デフォルトではNULLです。


例外

表13-11 GET_datatype_ARGファンクションの例外

例外 説明
NO_DATA_FOUND

入力パラメータが遅延コールのパラメータに対応しません。

ORA-26564

入力パラメータが、指定された型でもANYDATA型がサポートする型でもありません。


GET_OBJECT_NULL_VECTOR_ARGファンクション

このファンクションは、型所有者、名前およびハッシュコードを含む列オブジェクトのタイプ情報を戻します。

構文

DBMS_DEFER_QUERY.GET_OBJECT-NULL_VECTOR_ARG (
   callno                IN   NUMBER,
   arg_no                IN   NUMBER,
   deferred_tran_id      IN   VARCHAR2)
  RETURN SYSTEM.REPCAT$_OBJECT_NULL_VECTOR;

パラメータ

表13-12 GET_OBJECT_NULL_VECTOR_ARGファンクションのパラメータ

パラメータ 説明
callno

DEFCALLビューからのコール識別子です。

arg_no

コールの引数リスト内のパラメータの位置です。指定できるパラメータの位置は、1からコール内のパラメータのまでです。

deferred_tran_id

遅延トランザクションの識別子です。


例外

表13-13 GET_OBJECT_NULL_VECTOR_ARGファンクションの例外

例外 説明
NO_DATA_FOUND

入力パラメータが遅延コールのパラメータに対応しません。

ORA-26564

パラメータがobject_null_vector型ではありません。


戻り値

表13-14 GET_OBJECT_NULL_VECTOR_ARGファンクションの戻り値

戻り値 型定義

SYSTEM.REPCAT$_OBJECT_NULL_VECTOR

CREATE TYPE 
SYSTEM.REPCAT$_OBJECT_NULL_VECTOR
AS OBJECT ( 
  type_owner      VARCHAR2(30),
  type_name       VARCHAR2(30),
  type_hashcode   RAW(17),
  null_vector     RAW(2000));