サポートチーム便り2022.10.12
テーブルのオブジェクト属性をSQLで確認したい
Question
テーブルやファイルのオブジェクト属性を確認する方法は、DSPDBRコマンドを使用していますが、VIEWやINDEXなどの区別は確認できません。
何か確認する方法はありませんか。
Answer
SQLテーブル関数を使用して、DSPSBRコマンドよりも詳細な情報を得る事ができます。
例1:
SELECT SQL_OBJECT_TYPE,SCHEMA_NAME,SQL_NAME,LIBRARY_NAME,SYSTEM_NAME,
OBJECT_OWNER,LAST_ALTERED
FROM TABLE(SYSTOOLS.RELATED_OBJECTS('BELLTEST','TABLE01'));
例2:
SELECT * FROM TABLE(SYSTOOLS.RELATED_OBJECTS(LIBRARY_NAME=>'BELLTEST',
FILE_NAME =>'TABLE01'));
例3:CRTLFしたファイルを表示した場合
SELECT SQL_OBJECT_TYPE,SCHEMA_NAME,SQL_NAME,LIBRARY_NAME,SYSTEM_NAME,
OBJECT_OWNER,LAST_ALTERED
FROM TABLE(SYSTOOLS.RELATED_OBJECTS('BELLTEST','HINMOKP'));
※注意※ オブジェクト名は、全て大文字で指定してください。
検証環境: IBM i V7R3M0
※ このテーブル関数は、以下のPTFグループおよびレベルで機能強化されています。もし使用できない場合は、グループPTFの適用をご検討ください。
V7R5M0 | 標準で使用可能 |
V7R4M0 | SF99704 レベル 10 以上 |
V7R3M0 | SF99703 レベル 22 以上 |
by あすと