ADMINTEMPTABLES 管理ビューおよび ADMIN_GET_TEMP_TABLES 表関数 - 一時表の情報を取得する
ADMINTEMPTABLES 管理ビューおよび ADMIN_GET_TEMP_TABLES 表関数は、作成済み一時表および宣言済み一時表のインスタンスの表属性およびインスタンス生成時間に関する情報を検索する方法を提供します。
カタログ・ビューには作成済み一時表の表属性情報が含まれますが、宣言済み一時表の表属性情報は含まれません。 さらに、カタログ・ビューには、作成済み一時表または宣言済み一時表の表インスタンス生成時間に関する情報は含まれません。
管理ビューまたは表関数のどちらを使用しているかによって、以下のいずれかのセクションを参照してください。
ADMINTEMPTABLES 管理ビュー
ADMINTEMPTABLES 管理ビューは、作成済み一時表および宣言済み一時表のインスタンスの表属性およびインスタンス生成時間に関する情報を戻します。
スキーマは SYSIBMADM です。
戻すことができる情報の全リストについては、ADMINTEMPTABLES 管理ビューおよび ADMIN_GET_TEMP_TABLES で戻される情報の表を参照してください。
許可
以下のいずれかの権限が必要です。
- ADMINTEMPTABLES 管理ビューに対する SELECT 特権
- ADMINTEMPTABLES 管理ビューに対する CONTROL 特権
- DATAACCESS 権限
- DBADM 権限
- SQLADM 権限
この表関数を使用するには、以下のいずれかが必要です。
- ADMIN_GET_TEMP_TABLES 表関数に対する EXECUTE 特権
- DATAACCESS 権限
デフォルトの PUBLIC 特権
制限のないデータベースでは、このビューが自動的に作成されると、SELECT 特権が PUBLIC に付与されます。
例
例 1: データベースに現在存在する作成済み一時表および宣言済み一時表のすべてのインスタンスの表属性およびインスタンス生成時間に関する情報を取得します。
SELECT * FROM SYSIBMADM.ADMINTEMPTABLES例 2: どの接続に作成済み一時表のインスタンスが含まれているかを判別します。
SELECT APPLICATION_HANDLE, TABSCHEMA, TABNAME
FROM SYSIBMADM.ADMINTEMPTABLES
WHERE TEMPTABTYPE = 'C'例 3: データベースに接続したユーザーによってインスタンス生成されたすべての表に宣言された、すべての宣言済み一時表の表属性およびインスタンス生成時間に関する情報を検索します。
SELECT TABSCHEMA, TABNAME, ONCOMMIT, ONROLLBACK,
INSTANTIATION_TIME
FROM SYSIBMADM.ADMINTEMPTABLES
WHERE TEMPTABTYPE = 'D' AND INSTANTIATOR = SYSTEM_USERADMIN_GET_TEMP_TABLES 表関数
ADMIN_GET_TEMP_TABLES 表関数は ADMINTABINFO 管理ビューと同じ情報を戻しますが、この関数ではスキーマ名および表名を指定することが可能です。
戻すことができる情報の全リストについては、ADMINTEMPTABLES 管理ビューおよび ADMIN_GET_TEMP_TABLES で戻される情報の表を参照してください。
構文
スキーマは SYSPROC です。
表関数パラメーター
- application_handle
- アプリケーション・ハンドルを指定する、タイプ BIGINT の入力引数。application_handle が指定されている場合、指定された接続に関するデータのみが戻されます。application_handle が NULL である場合、すべての接続に関するデータが戻されます。
- tabschema
- スキーマ名を指定する、タイプ VARCHAR(128) の入力引数。
- tabname
- 作成済み一時表の名前または宣言済み一時表の名前を指定する、タイプ VARCHAR(128) の入力引数。
許可
以下のいずれかの権限が必要です。
- ADMIN_GET_TEMP_TABLES 表関数に対する EXECUTE 特権
- DATAACCESS 権限
- DBADM 権限
- SQLADM 権限
デフォルトの PUBLIC 特権
制限のないデータベースでは、この関数が自動的に作成されると、EXECUTE 特権が PUBLIC に付与されます。
例
例 1: すべての接続の作成済み一時表 DBUSER1.EMPLOYEE のすべてのインスタンスの表属性およびインスタンス生成時間に関する情報を取得します。
SELECT TABSCHEMA, TABNAME, ONCOMMIT, ONROLLBACK, INSTANTIATION_TIME
FROM TABLE (SYSPROC.ADMIN_GET_TEMP_TABLES(NULL, 'DBUSER1', 'EMPLOYEE'))
AS T例 2: 現行接続でのユーザー一時表のすべてのインスタンスのインスタンス生成時間および表スペース ID を取得します。
SELECT TABSCHEMA, TABNAME, INSTANTIATION_TIME, TBSP_ID
FROM TABLE (SYSPROC.ADMIN_GET_TEMP_TABLES(APPLICATION_ID(), '', ''))
AS T使用上の注意
- tabschema と tabname の両方が指定される場合、その特定の一時表の情報のみが戻されます。
- tabschema が指定され、tabname が NULL または空ストリング (") の場合、指定したスキーマのすべての表に関する情報が戻されます。
- tabschema が NULL または空ストリング (") で、tabname が指定される場合、エラーは戻されます。 特定の一時表の情報を取り出すには、その表がスキーマと表名の両方によって識別されることが必要です。
- tabschema と tabname の両方が NULL または空ストリング (") の場合、application_handle の値に応じて、特定の接続 (またはすべての接続) のすべての一時表に関する情報が戻されます。
- tabschema または tabname が存在しないか、tabname が一時表名と一致しないか、あるいは識別された一時表のインスタンスがデータベースに存在しない場合、空の結果セットが戻されます。
戻される情報
| 列名 | データ・タイプ | 説明 |
|---|---|---|
| APPLICATION_HANDLE | BIGINT | application_handle - アプリケーション・ハンドル・モニター・エレメント |
| APPLICATION_NAME | VARCHAR(256) | appl_name - アプリケーション名モニター・エレメント |
| TABSCHEMA | VARCHAR(128) | table_schema - 表スキーマ名モニター・エレメント |
| TABNAME | VARCHAR(128) | table_name - 表名モニター・エレメント |
| INSTANTIATOR | VARCHAR(128) | 作成済み一時表がインスタンス生成されたか、または宣言済み一時表が宣言された許可 ID。 |
| INSTANTIATORTYPE | CHAR(1) |
|
| TEMPTABTYPE | CHAR(1) | 一時表タイプ:
|
| INSTANTIATION_TIME | TIMESTAMP | 作成済み一時表がインスタンス生成されたか、または宣言済み一時表が宣言された時刻。 |
| COLCOUNT | SMALLINT | 列の数。継承された列がある場合は、それも含む。 |
| TAB_FILE_ID | BIGINT | table_file_id - 表のファイル ID (FID)。 |
| TBSP_ID | BIGINT | tablespace_id - 現行データベースで使用する表スペースを表す固有の整数。 |
| PMAP_ID | SMALLINT | この表によって現在使用されている分散マップの ID。 |
| PARTITION_MODE | CHAR(1) | パーティション・データベース・システム内のデータベース・パーティション間でどのようにデータが配分されるかを示します。
|
| CODEPAGE | SMALLINT | オブジェクトのコード・ページ。これが、すべての文字の列および式で生成された列のデフォルトのコード・ページです。 |
| ONCOMMIT | CHAR(1) | COMMIT 操作の実行時にこの表で行うアクションを指定します。
|
| ONROLLBACK | CHAR(1) | ROLLBACK 操作の実行時にこの表で行うアクションを指定します。
|
| LOGGED | CHAR(1) | この表をログ対象にするかどうかを指定します。
|
| TAB_ORGANIZATION | CHAR(1) | tab_organization - 表モニター・エレメントのデータ編成 |
