DESCRIBE CLPPlus コマンド

DESCRIBE CLPPlus コマンドは、列とそのデータ・タイプおよび表ビューの長さのリスト、プロシージャーまたは関数のパラメーターのリスト、あるいはパッケージのプロシージャーと関数およびそれらのパラメーターのリストを表示します。

DESCRIBE CLPPlus コマンドでは、記述するデータベース・オブジェクトのタイプを指定できます。 表示するオブジェクトのタイプを指定しないと、指定の名前とスキーマを持つすべてのオブジェクトが表示されます。 デフォルト・スキーマは CURRENT SCHEMA です。

DESCRIBE CLPPlus コマンドは、テンポラル表をサポートしています。

呼び出し

このコマンドは CLPPlus インターフェースから実行することができます。

許可

なし

必要な接続

データベースに接続している必要があります。

コマンド構文

構文図を読む構文図をスキップするDESCRIBEDESCTABLEVIEWALIASPROCEDUREFUNCTIONSYNONYMPACKAGEMODULEschema.object

コマンド・パラメーター

TABLE
表示するデータベース・オブジェクトのタイプを表に指定します。
VIEW
表示するデータベース・オブジェクトのタイプをビューに指定します。
ALIAS
表示するデータベース・オブジェクトのタイプを別名に指定します。
PROCEDURE
表示するデータベース・オブジェクトのタイプをプロシージャーに指定します。
FUNCTION
表示するデータベース・オブジェクトのタイプを関数に指定します。
SYNONYM
表示するデータベース・オブジェクトのタイプをシノニムに指定します。
PACKAGE
表示するデータベース・オブジェクトのタイプをパッケージに指定します。
MODULE
表示するデータベース・オブジェクトのタイプをモジュールに指定します。
schema
表示するオブジェクトが属するスキーマの名前を指定します。 デフォルト・スキーマは CURRENT SCHEMA です。
object
表示する表、ビュー、プロシージャー、関数、またはパッケージの名前を指定します。

以下の例では、DESCRIBE コマンドを実行して、ABCD という名前の表の詳細情報を取得します。


SQL> DESCRIBE TABLE ABCD ;

TABLE - ABCD


Name                 Data Type       Type schema       Length    Scale Nulls Hidden
-------------------- --------------- --------------- -------- -------- ----- --------
ROLL                 INTEGER         SYSIBM                 4        0 Y     N
NAME                 CHARACTER       SYSIBM                10        0 Y     P

以下の例では、DESCRIBE コマンドを実行して、バイテンポラル表の詳細を取得します。

SQL > create table policy
(
  policy_id int NOT NULL,
  coverage int NOT NULL  IMPLICITLY HIDDEN, 
  bus_start date NOT NULL,
  bus_end date NOT NULL,
  system_start TIMESTAMP(12) generated always as row begin NOT NULL,
  system_end TIMESTAMP(12) generated always as row end NOT NULL,
  trans_start   generated always as transaction start ID,
  period BUSINESS_TIME(bus_start, bus_end),
  period SYSTEM_TIME (system_start, system_end)
);

Db250000I: The command completed successfully.

SQL> create table policy_hist LIKE policy;

Db250000I: The command completed successfully.

SQL> ALTER TABLE policy ADD VERSIONING USE HISTORY TABLE policy_hist;

Db250000I: The command completed successfully.

SQL> describe policy
TABLE - POLICY
********************************************************************************
 
Name                Data Type     Type schema   Length   Scale   Nulls Hidden
------------------- ------------- ------------- -------- ------- ----- --------
POLICY_ID           INTEGER       SYSIBM               4       0 N     Not     
COVERAGE            INTEGER       SYSIBM               4       0 N     Implicit
BUS_START           TIMESTAMP     SYSIBM               7       0 N     Not     
BUS_END             TIMESTAMP     SYSIBM               7       0 N     Not     
SYSTEM_START        TIMESTAMP     SYSIBM              13      12 N     Not     
SYSTEM_END          TIMESTAMP     SYSIBM              13      12 N     Not     
TRANS_START         TIMESTAMP     SYSIBM              13      12 Y     Not     


Temporal Type : Bitemporal

Table is versioned and has the following periods 
---------------------------------------------------------

Name                 Type Begin Column    End Column                         
-------------------- ---- --------------- ---------------
SYSTEM_TIME          S    SYSTEM_START    SYSTEM_END     
BUSINESS_TIME        A    BUS_START       BUS_END        

********************************************************************************

以下の例では、DESCRIBE コマンドを実行して、システム期間があるもののバージョン管理されていない表の詳細を取得します。

SQL> create table demo_nontemp
(
  	policy_id int NOT NULL,
  	coverage int NOT NULL  IMPLICITLY HIDDEN, 
  	system_start TIMESTAMP(12) generated always as row begin NOT NULL,
  	system_end TIMESTAMP(12) generated always as row end NOT NULL,
  	trans_start   generated always as transaction start ID,
  	period SYSTEM_TIME (system_start, system_end)
);

Db250000I: The command completed successfully.

SQL> describe demo_nontemp

TABLE - TEMPTAB
********************************************************************************
 
Name                Data Type     Type schema   Length   Scale   Nulls Hidden
------------------- ------------- ------------- -------- ------- ----- --------
POLICY_ID           INTEGER       SYSIBM               4       0 N     Not     
COVERAGE            INTEGER       SYSIBM               4       0 N     Implicit
SYSTEM_START        TIMESTAMP     SYSIBM              13      12 N     Not     
SYSTEM_END          TIMESTAMP     SYSIBM              13      12 N     Not     
TRANS_START         TIMESTAMP     SYSIBM              13      12 Y     Not     


Table has the following periods
---------------------------------------------------------

Name                 Type Begin Column    End Column                         
-------------------- ---- --------------- ---------------
SYSTEM_TIME          S    SYSTEM_START    SYSTEM_END     

********************************************************************************

以下の例では、DESCRIBE コマンドを実行して、アプリケーション期間テンポラル表の詳細を取得します。

SQL> create table demo_app
     (
   	  policy_id int NOT NULL,
  	  coverage int NOT NULL  IMPLICITLY HIDDEN, 
  	  bus_start date NOT NULL,
  	  bus_end date NOT NULL,
   	  period BUSINESS_TIME(bus_start, bus_end));


Db250000I: The command completed successfully.

SQL> describe demo_app

TABLE - DEMO_APP
********************************************************************************
 
Name                Data Type     Type schema   Length   Scale   Nulls Hidden
------------------- ------------- ------------- -------- ------- ----- --------
POLICY_ID           INTEGER       SYSIBM               4       0 N     Not     
COVERAGE            INTEGER       SYSIBM               4       0 N     Implicit
BUS_START           TIMESTAMP     SYSIBM               7       0 N     Not     
BUS_END             TIMESTAMP     SYSIBM               7       0 N     Not     


Temporal Type : Application period temporal

Table has the following periods
---------------------------------------------------------

Name                 Type Begin Column    End Column                         
-------------------- ---- --------------- ---------------
BUSINESS_TIME        A    BUS_START       BUS_END        

********************************************************************************

以下の例では、DESCRIBE コマンドを実行して、システム期間テンポラル表の詳細を取得します。

SQL> create table demo_sys
(
  	policy_id int NOT NULL,
  	coverage int NOT NULL  IMPLICITLY HIDDEN, 
  	system_start TIMESTAMP(12) generated always as row begin NOT NULL,
  	system_end TIMESTAMP(12) generated always as row end NOT NULL,
  	trans_start   generated always as transaction start ID,
  	period SYSTEM_TIME (system_start, system_end)
);

Db250000I: The command completed successfully.

SQL> create table demo_sys_history like demo_sys ;

Db250000I: The command completed successfully.

SQL> ALTER TABLE DEMO_SYS ADD VERSIONING USE HISTORY TABLE DEMO_SYS_HISTORY;

Db250000I: The command completed successfully.

SQL> desc demo_sys

TABLE - DEMO_SYS
********************************************************************************
 
Name                Data Type     Type schema   Length   Scale   Nulls Hidden
------------------- ------------- ------------- -------- ------- ----- --------
POLICY_ID           INTEGER       SYSIBM               4       0 N     Not     
COVERAGE            INTEGER       SYSIBM               4       0 N     Implicit
SYSTEM_START        TIMESTAMP     SYSIBM              13      12 N     Not     
SYSTEM_END          TIMESTAMP     SYSIBM              13      12 N     Not     
TRANS_START         TIMESTAMP     SYSIBM              13      12 Y     Not     


Temporal Type : System period temporal

Table is versioned and has the following periods 
---------------------------------------------------------

Name                 Type Begin Column    End Column                         
-------------------- ---- --------------- ---------------
SYSTEM_TIME          S    SYSTEM_START    SYSTEM_END     

********************************************************************************