177 DBMS_TABLE_DATA
DBMS_TABLE_DATAパッケージは、任意の表の単一列または一連の列のバイト値を取得するために使用できるプロシージャを提供します。これらのプロシージャは、列のパブリックにドキュメント化されたメタデータ構造とともに、ハッシュまたはユーザー署名が計算される行データの行コンテンツを取得するために使用できます。
この章のトピックは、次のとおりです:
177.1 DBMS_TABLE_DATAの概要
DBMS_TABLE_DATAパッケージを使用すると、任意の表の単一列または一連の列のバイト値を取得できます。
これらのプロシージャは、列のパブリックにドキュメント化されたメタデータ構造とともに、ハッシュまたはユーザー署名が計算される行データの行コンテンツを取得するために使用できます。
プロシージャは、プラットフォームに中立的なバイナリ値を列に指定します。
プロシージャでは、抽出する列および結果のアセンブル順序の観点から、デジタル署名または暗号化ハッシュの範囲をきめ細かく制御できます。
177.2 DBMS_TABLE_DATAのセキュリティ・モデル
DBMS_TABLE_DATAパッケージは、SYSによって所有され、データベース・インストールの一環としてインストールされます。このパッケージ内のルーチンは、実行者権限(現行のユーザーの権限)を使用して実行されます。現行のユーザーには、列データを抽出するための表に対するSELECT権限が必要です。
177.3 DBMS_TABLE_DATAサブプログラムの要約
DBMS_TABLE_DATAパッケージでは、GET_BYTES_FOR_COLUMN、GET_BYTES_FOR_COLUMNSおよびGET_BYTES_FOR_ROWの各サブプログラムを使用して様々なファンクションを実行します。
表177-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の列バイト値の連結配列を戻します。
|
177.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);
パラメータ
表177-2 GET_BYTES_FOR_COLUMNプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
スキーマの名前。 |
table_name |
表の名前。 |
row_id |
行ID。 |
column_name |
列名。 |
column_data |
列のデータ。 |
使用上のノート
すべての引数が必要です。
177.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);
パラメータ
表177-3 GET_BYTES_FOR_COLUMNSプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
スキーマの名前。 |
table_name |
表の名前。 |
row_id |
行ID。 |
column_names |
列の名前。 |
column_data |
列のデータ。 |
使用上のノート
すべての引数が必要です。
177.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);
パラメータ
表177-4 GET_BYTES_FOR_ROWプロシージャのパラメータ
| パラメータ | 説明 |
|---|---|
|
|
スキーマの名前。 |
table_name |
表の名前。 |
row_id |
行ID。 |
column_data |
行のデータ。 |
使用上のノート
すべての引数が必要です。