42.5.18 #TABLES(表情報の表示)
- 機能
-
表情報を表示します。
- 形式
-
#TABLES 〔スキーマ名〕 〔SHOW ALL〕;
- 〔スキーマ名〕:
-
表情報を表示するスキーマ名を指定します。
スキーマ名を省略した場合,すべての表の表情報が表示されます。ただし,表示対象の表は,HADBユーザが持っている権限の有無によって異なります。留意事項を参照してください。
- 〔SHOW ALL〕:
-
このオプションを指定した場合
ディクショナリ表のSQL_TABLES表のすべての列が表示されます。表示される内容については,マニュアルHADB システム構築・運用ガイドのSQL_TABLESの内容を参照してください。
このオプションを省略した場合
次の表に示す内容が表示されます。
表42‒7 #TABLESで表示される内容(オプションを省略した場合) 項番
列名
内容
1
TABLE_SCHEMA
スキーマ名
2
TABLE_NAME
表識別子
3
STORAGE_FORMAT
表データの格納形式
-
'COLUMN'
カラムストア形式
-
'ROW'
ローストア形式
なお,ビュー表の場合は,ナル値が表示されます。
4
N_COLS
表の構成列数
5
N_INDEX
表に定義されているインデクス数(全インデクスの合計)
6
IS_CHUNK
チャンク指定のCHUNKの指定
-
'Y':指定あり(マルチチャンク表)
-
'N':指定なし(シングルチャンク表)
7
N_CHUNK
- 存在するチャンク数
-
列名IS_CHUNKで'N'が出力されている場合は,ナル値が表示されます。
8
N_CHUNK_RESERVED
作成されるチャンク数の最大値
9
CREATE_TIME
表定義時のタイムスタンプ
-
- 留意事項
-
-
#TABLESを実行して表示される表情報の範囲は,HADBユーザが持っている権限によって異なります。表示される表情報の範囲を次に示します。
- DBA権限または監査管理権限を持っているHADBユーザの認可識別子で接続している場合
-
-
すべてのHADBユーザが定義した表
-
スキーマ名がMASTERの表
-
- 上記の権限を持っていないHADBユーザの認可識別子で接続している場合
-
-
自分(HADBサーバに接続中の認可識別子のHADBユーザ)が定義した表
-
ほかのHADBユーザによって付与されたアクセス権限の対象となる表
-
PUBLIC指定で許可された表
-
スキーマ名がMASTERの表
-
なお,#TABLESを実行して表示される表情報の範囲は,ディクショナリ表のSQL_TABLES表を参照できる範囲と同じです。詳細については,マニュアルHADB システム構築・運用ガイドのディクショナリ表の概要のHADBユーザが参照できるディクショナリ表の範囲を参照してください。
-
#TABLESを実行すると,ディクショナリ表の排他が取得されます。#TABLESを実行したあと,すぐにCOMMIT文を実行してください。COMMIT文を実行しないと,ディクショナリ表の排他が解放されません。ただし,#TABLESを実行したあとで,adbsqlコマンドを終了する場合は,ディクショナリ表の排他は解放されるため,COMMIT文の実行は不要です。
-
存在しないスキーマ名を指定した場合,#TABLESの実行結果は0行になります(エラーにはなりません)。
-
#SET DISPLAYでOFF(検索結果を出力しない)を指定していても,#TABLESの実行結果は出力されます。adbsqlサブコマンドの#SET DISPLAYについては,「42.5.12 #SET DISPLAY(検索結果の出力)」を参照してください。
-
#SET EXECTIME REPORTでON(SQL文の実行時間を出力する)を指定していても,#TABLESの実行時間は出力されません。adbsqlサブコマンドの#SET EXECTIME REPORTについては,「42.5.14 #SET EXECTIME REPORT(SQL文の実行時間の出力)」を参照してください。
-
#SET OPT REPORTでON(インデクス情報,作業表情報,およびアクセスパス情報を表示する)を指定していても,#TABLESの実行時に,インデクス情報,作業表情報,およびアクセスパス情報は出力されません。adbsqlサブコマンドの#SET OPT REPORTについては,「42.5.16 #SET OPT REPORT(インデクス情報,作業表情報,およびアクセスパス情報の表示)」を参照してください。
-
#SET OPT REPORTでEXEC=PREPARE(SQL文を実行しない)を指定していても,#TABLESの実行結果は出力されます。
-