DESCRIBE コマンドは、表またはビューの列、索引、およびデータ・パーティションに関するメタデータを表示します。 このコマンドは、SELECT、CALL、または XQuery ステートメントの出力に関するメタデータも表示できます。
情報を表示するオブジェクト | 必要な特権または権限 |
---|---|
SELECT ステートメントまたは XQuery ステートメントの出力 | SELECT ステートメント内で参照されている表またはビューごとに、以下のいずれかの特権または権限:
|
CALL ステートメントの出力 | 以下の特権または権限のいずれか。
|
表またはビューの列 | SYSCAT.COLUMNS システム・カタログ表に対して、以下のいずれかの特権または権限:
SHOW DETAIL パラメーターを使用する場合、SYSCAT.DATAPARTITIONEXPRESSION システム・カタログ表に対しても、これらの特権または権限のいずれかが必要になります。 PUBLIC には宣言済み一時表に対するすべての特権が付与されているので、 このコマンドを使用して、接続内に存在するすべての宣言済み一時表に関する情報を表示できます。 |
表またはビューの索引 | SYSCAT.INDEXES システム・カタログ表に対して、以下のいずれかの特権または権限:
SHOW DETAIL パラメーターを使用する場合、GET_INDEX_COLNAMES() UDF に対する EXECUTE 特権も必要です。 PUBLIC には宣言済み一時表に対するすべての特権が付与されているので、 このコマンドを使用して、接続内に存在するすべての宣言済み一時表に関する情報を表示できます。 |
表またはビューのデータ・パーティション | SYSCAT.DATAPARTITIONS システム・カタログ表に対して、以下のいずれかの特権または権限:
PUBLIC には宣言済み一時表に対するすべての特権が付与されているので、 このコマンドを使用して、接続内に存在するすべての宣言済み一時表に関する情報を表示できます。 |
データベース。 暗黙接続が可能な場合には、デフォルト・データベースへの接続が確立されます。
>>-DESCRIBE-----------------------------------------------------> .-OUTPUT-. >--+-+--------+--+-select-statement---------+--------------------------------+->< | +-call-statement-----------+ | | '-XQUERY--XQuery-statement-' | '-+-TABLE----------------------------------+--table-name--+-------------+-' +-+-----------------+--INDEXES FOR TABLE-+ '-SHOW DETAIL-' | +-RELATIONAL DATA-+ | | +-XML DATA--------+ | | '-TEXT SEARCH-----' | '-DATA PARTITIONS FOR TABLE--------------'
特定の索引タイプについてだけの情報をリストする索引タイプを指定します。 複数の索引タイプの指定はサポートされていません。
SHOW DETAIL を指定した場合、列名情報もリストされます。
SHOW DETAIL を指定した場合、以下の XML データに対する索引の情報もリストされます。
SHOW DETAIL を指定した場合、以下のテキスト検索索引情報もリストされます。
TEXT SEARCH オプションが指定され、テキスト検索オプションがインストールされていないか正しく構成されていない場合、エラー (SQLSTATE 42724) が戻されます。
列にリストされる情報については、DB2® Text Search の情報を参照してください。
db2 describe output select * from staff
Column Information
Number of columns: 7
Data Type Length Column Name Name Length
-------------------- ------ ------------------------------ --------------
500 SMALLINT 2 ID 2
449 VARCHAR 9 NAME 4
501 SMALLINT 2 DEPT 4
453 CHARACTER 5 JOB 3
501 SMALLINT 2 YEARS 5
485 DECIMAL 7,2 SALARY 6
485 DECIMAL 7,2 COMM 4
CREATE PROCEDURE GIVE_BONUS (IN EMPNO INTEGER,
IN DEPTNO INTEGER,
OUT CHEQUE INTEGER,
INOUT BONUS DEC(6,0))
...
次の例は、CALL ステートメントの出力を記述する方法を示しています。 db2 describe output call give_bonus(123456, 987, ?, 15000.)
Column Information
Number of Columns: 2
Data Type Length Column Name Name Length
-------------------- ------ ------------------------------ --------------
497 INTEGER 4 CHEQUE 6
485 DECIMAL 6, 0 BONUS 5
プロシージャーで配列タイプに 1 つ以上のパラメーターがある場合、DESCRIBE コマンドの出力には追加列が 1 つあります。これは、配列パラメーターの最大カーディナリティーを示します。 空の値は、パラメーターが配列でないことを示します。
ステートメントで作成された配列タイプおよびプロシージャーを指定すると、次のようになります。
CREATE TYPE PRODUCT_LIST AS INTEGER ARRAY[100]
CREATE TYPE CUSTOMER_LIST AS INTEGER ARRAY[1000]
CREATE PROCEDURE DISCONTINUE_PROD (IN PROD_LIST PRODUCT_LIST,
IN EFFECTIVE_DATE DATE,
OUT NUM_PENDING_ORDERS INTEGER,
OUT CUST_LIST CUSTOMER_LIST)
...
次の例は、配列パラメーターを指定した CALL ステートメントの出力を記述する方法を示しています。 前の例とのフォーマットの違いは、Max cardinality 列だけです。
db2 describe output call discontinue_prod(ARRAY[12, 34, 26],'04/13/2006',?)
Column Information
Number of Columns: 2
SQL type Type length Column name Name length Max cardinality
-------------------- ----------- ------------------------------ -------------- ---------------
497 INTEGER 4 NUM_PENDING_ORDERS 17
497 INTEGER 10 CUSTOMER_LIST 13 1000
db2 describe xquery for $cust in db2-fn:xmlcolumn("CUSTOMER.INFO") return $cust
Column Information
Number of Columns: 1
SQL type Type length Column name Name length
-------------------- ----------- ------------------------------ --------------
998 XML 0 1 1
キーワード XQUERY が指定されていない場合、SQL0104N が戻されます。
db2 describe for $cust in db2-fn:xmlcolumn("CUSTOMER.INFO") return $cust
SQL0104N An unexpected token "for" was found following "DESCRIBE". Expected
tokens may include: "OUTPUT". SQLSTATE=42601
XQUERY オプションがサポートされていない旧バージョンのサーバーに対して DESCRIBE XQUERY コマンドが発行された場合、旧バージョンのサーバーによってその機能がサポートされていないことを示すメッセージ DB21108E が戻されます。
db2 describe table user1.department
Table: USER1.DEPARTMENT
Column Data Type Data Type Column
name schema name length Scale Nulls
------------------ ----------- ------------------ -------- -------- --------
AREA SYSIBM SMALLINT 2 0 No
DEPT SYSIBM CHARACTER 3 0 No
DEPTNAME SYSIBM CHARACTER 20 0 Yes
db2 describe table user1.employee show detail
Column Data Type Column Data Type Column Hidden
name schema number name length
------------------ ----------- --------- ----------- -------- ----------
FIRST SYSIBM 0 CHARACTER 10 No
LAST SYSIBM 1 CHARACTER 10 No
EMPLOYEENUM SYSTEM 2 CHARACTER 10 Implicitly
Table is partitioned by range (ordered on the following column/s):
------------------------------------------------------------------
LAST
FIRST
EMPLOYEENUM
db2 describe indexes for table user1.department
Index Index Unique Number of Index
schema name rule columns type
-------------- ------------------ -------------- ------------- --------------
SYSIBM SQL070531145253450 D - XML DATA - REGIONS
SYSIBM SQL070531145253620 U 1 XML DATA - PATH
USER1 RELIDX1 D 1 RELATIONAL DATA
USER1 RELIDX2 D 2 RELATIONAL DATA
SYSIBM SQL070531145253650 P 1 RELATIONAL DATA
USER1 XMLIDX1 D 1 XML DATA - VALUES LOGICAL
SYSIBM SQL070531154625650 D 1 XML DATA - VALUES PHYSICAL
USER1 XMLIDX2 D 1 XML DATA - VALUES LOGICAL
SYSIBM SQL070531154626000 D 1 XML DATA - VALUES PHYSICAL
USER1 XMLIDX3 D 1 XML DATA - VALUES LOGICAL
SYSIBM SQL070531154626090 D 1 XML DATA - VALUES PHYSICAL
USER1 XMLIDX4 D 1 XML DATA - VALUES LOGICAL
SYSIBM SQL070531154626190 D 1 XML DATA - VALUES PHYSICAL
USER1 XMLIDX5 D 1 XML DATA - VALUES LOGICAL
SYSIBM SQL070531154626290 D 1 XML DATA - VALUES PHYSICAL
USER1 XMLIDX6 D 1 XML DATA - VALUES LOGICAL
SYSIBM SQL070531154626400 D 1 XML DATA - VALUES PHYSICAL
USER1 TXTIDX1 - 1 TEXT SEARCH
USER1 TXTIDX2 - 1 TEXT SEARCH
db2 describe relational data indexes for table user1.department
Index Index Unique Number of
schema name rule columns
-------------- ------------------ -------------- -------------
SYSIBM SQL070531145253650 P 1
USER1 RELIDX1 D 1
USER1 RELIDX2 D 2
db2 describe xml data indexes for table user1.department
Index Index Unique Number of Index
schema name rule columns type
-------------- ------------------ -------------- ------------- --------------
SYSIBM SQL070531145253450 D - XML DATA - REGIONS
SYSIBM SQL070531145253620 U 1 XML DATA - PATH
USER1 XMLIDX1 D 1 XML DATA - VALUES LOGICAL
SYSIBM SQL070531154625650 D 1 XML DATA - VALUES PHYSICAL
USER1 XMLIDX2 D 1 XML DATA - VALUES LOGICAL
SYSIBM SQL070531154626000 D 1 XML DATA - VALUES PHYSICAL
USER1 XMLIDX3 D 1 XML DATA - VALUES LOGICAL
SYSIBM SQL070531154626090 D 1 XML DATA - VALUES PHYSICAL
USER1 XMLIDX4 D 1 XML DATA - VALUES LOGICAL
SYSIBM SQL070531154626190 D 1 XML DATA - VALUES PHYSICAL
USER1 XMLIDX5 D 1 XML DATA - VALUES LOGICAL
SYSIBM SQL070531154626290 D 1 XML DATA - VALUES PHYSICAL
USER1 XMLIDX6 D 1 XML DATA - VALUES LOGICAL
SYSIBM SQL070531154626400 D 1 XML DATA - VALUES PHYSICAL
db2 describe text search indexes for table user1.department
Index Index
schema name
-------------- ------------------
USER1 TXTIDX1
USER1 TXTIDX2
db2 describe indexes for table myDPartT
Index Index Unique Number of Index Partitioning
schema name rule columns
------------------------------- ------------------- -------------- -------------- -------------
NEWTON IDXNDP D 1 N
NEWTON IDXDP D 1 P
db2 describe data partitions for table user1.sales
PartitionId Inclusive (y/n) Inclusive (y/n)
Low Value High Value
------------- -- -------------- -- -------------
0 Y 2001,1 Y 2001,3
1 N 2001,3 Y 2001,6
3 N 2001,6 Y 2001,9
db2 describe data partitions for table user1.employee show detail
PartitionId Inclusive (y/n) Inclusive (y/n)
Low Value High Value
------------- -- ------------------ -- -------------
0 Y MINVALUE,MINVALUE Y 'beck','kevin'
1 N 'beck','kevin' N 'treece','jeff'
2 Y 'treece','jeff' Y 'zhang','liping'
3 Y 'zyzyck',MINVALUE Y MAXVALUE,MAXVALUE
PartitionId PartitionName TableSpId LongTblSpId IndexTblSpId AccessMode Status
----------- ------------- --------- ----------- ------------ ---------- ------
0 PARTx 3 43 50 F
1 PARTNew 13 13 13 N A
2 PART3 31 33 35 F
3 PART4 23 34 23 N A