188 DBMS_TABLE_DATA

DBMS_TABLE_DATAパッケージは、任意の表の単一列または一連の列のバイト値を取得するために使用できるプロシージャを提供します。これらのプロシージャは、列のパブリックにドキュメント化されたメタデータ構造とともに、ハッシュまたはユーザー署名が計算される行データの行コンテンツを取得するために使用できます。

この章のトピックは、次のとおりです:

188.1 DBMS_TABLE_DATAの概要

DBMS_TABLE_DATAパッケージを使用すると、任意の表の単一列または一連の列のバイト値を取得できます。

これらのプロシージャは、列のパブリックにドキュメント化されたメタデータ構造とともに、ハッシュまたはユーザー署名が計算される行データの行コンテンツを取得するために使用できます。

プロシージャは、プラットフォームに中立的なバイナリ値を列に指定します。

プロシージャでは、抽出する列および結果のアセンブル順序の観点から、デジタル署名または暗号化ハッシュの範囲をきめ細かく制御できます。

188.2 DBMS_TABLE_DATAのセキュリティ・モデル

DBMS_TABLE_DATAパッケージは、SYSによって所有され、データベース・インストールの一環としてインストールされます。このパッケージ内のルーチンは、実行者権限(現行のユーザーの権限)を使用して実行されます。現行のユーザーには、列データを抽出するための表に対するSELECT権限が必要です。

188.3 DBMS_TABLE_DATAサブプログラムの要約

DBMS_TABLE_DATAパッケージでは、GET_BYTES_FOR_COLUMNGET_BYTES_FOR_COLUMNSおよびGET_BYTES_FOR_ROWの各サブプログラムを使用して様々なファンクションを実行します。

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

サブプログラム 説明
GET_BYTES_FOR_COLUMNプロシージャ schema_name.table_nameで識別される特定の表のcolumn_name for row_idという名前の行を持つ特定の列のcolumn_dataをバイト単位で戻します。
GET_BYTES_FOR_COLUMNSプロシージャ column_names配列で指定された列順で、column_dataの列バイト値の連結配列を戻します。
GET_BYTES_FOR_ROWプロシージャ row_idで識別される特定の行の列位置の順序で、column_dataの列バイト値の連結配列を戻します。

188.3.1 GET_BYTES_FOR_COLUMNプロシージャ

このプロシージャは、schema_name.table_nameで識別される特定の表のrow_id行のcolumn_nameという名前を持つ特定の列のcolumn_dataをバイト単位で戻します。

構文

DBMS_TABLE_DATA.GET_BYTES_FOR_COLUMN(
   schema_name 		 IN VARCHAR2,
   table_name 	         IN VARCHAR2, 
   row_id 	             IN ROWID,
   column_name 	        IN VARCHAR2, 
   column_data 	        IN OUT BLOB);

パラメータ

表188-2 GET_BYTES_FOR_COLUMNプロシージャのパラメータ

パラメータ 説明

schema_name

スキーマの名前。
table_name 表の名前。
row_id 行ID。
column_name 列名。
column_data 列のデータ。

使用上のノート

すべての引数が必要です。

188.3.2 GET_BYTES_FOR_COLUMNSプロシージャ

このプロシージャは、column_names配列で指定された列順で、column_dataの列バイト値の連結配列を戻します。

構文

DBMS_TABLE_DATA.GET_BYTES_FOR_COLUMNS(
   schema_name 		 IN VARCHAR2,
   table_name 	         IN VARCHAR2, 
   row_id 	             IN ROWID,
   column_names	        IN VARCHAR2, 
   column_data 	        IN OUT BLOB);

パラメータ

表188-3 GET_BYTES_FOR_COLUMNSプロシージャのパラメータ

パラメータ 説明

schema_name

スキーマの名前。
table_name 表の名前。
row_id 行ID。
column_names 列の名前。
column_data 列のデータ。

使用上のノート

すべての引数が必要です。

188.3.3 GET_BYTES_FOR_ROWプロシージャ

このプロシージャは、row_idで識別される特定の行の列位置の順序で、column_dataの列バイト値の連結配列を戻します。

構文

DBMS_TABLE_DATA.GET_BYTES_FOR_ROW(
   schema_name 		 IN VARCHAR2,
   table_name 	         IN VARCHAR2, 
   row_id 	             IN ROWID,
   column_data 	        IN OUT BLOB);

パラメータ

表188-4 GET_BYTES_FOR_ROWプロシージャのパラメータ

パラメータ 説明

schema_name

スキーマの名前。
table_name 表の名前。
row_id 行ID。
column_data 行のデータ。

使用上のノート

すべての引数が必要です。