SQL の解説

| | |

CREATE PROCEDURE (SQL) ステートメント許可

|

ステートメントの許可 ID が、SYSADM 権限を持っているが DBADM 権限を持たない場合、 |その ID には、プロシージャーを作成する目的で暗黙的な DBADM 権限が付与されます。これは、CREATE PROCEDURE ステートメント (SQL) に適用され、CREATE PROCEDURE ステートメント (External) には適用されません。

EXPLAIN_DIAGNOSTIC: 新規 Explain 表

EXPLAIN_DIAGNOSTIC 表には、EXPLAIN_STATEMENT で EXPLAIN されたステートメントの特定のインスタンスについて生成された各診断メッセージの項目が入ります。

EXPLAIN_GET_MSGS 表関数は EXPLAIN_DIAGNOSTIC 表と EXPLAIN_DIAGNOSTIC_DATA Explain 表を照会し、特定のフォーマットを持つメッセージを戻します。

表 39. EXPLAIN_DIAGNOSTIC 表
列名 データ・タイプ NULL 可能 キー1 説明
EXPLAIN_REQUESTER VARCHAR(128) 不可 PK、FK この Explain 要求のイニシエーターの許可 ID。
EXPLAIN_TIME TIMESTAMP 不可 PK、FK Explain 要求の開始時刻。
SOURCE_NAME VARCHAR(128) 不可 PK、FK 動的ステートメントが Explain されたときに実行されているパッケージの名前、または静的 SQL が Explain されたときのソース・ファイルの名前。
SOURCE_SCHEMA VARCHAR(128) 不可 PK、FK Explain 要求のソースのスキーマまたは修飾子。
SOURCE_VERSION VARCHAR(64) 不可 PK、FK Explain 要求のソースのバージョン。
EXPLAIN_LEVEL CHAR(1) 不可 PK、FK この行が関連する Explain 情報のレベル。

有効な値は次のとおりです。

  • O: オリジナルのテキスト (ユーザーが入力したもの)
  • P: プラン選択
STMTNO INTEGER 不可 PK、FK この Explain 情報が関連するパッケージ内のステートメント番号。 動的 Explain SQL ステートメントには 1 が設定されます。 静的 SQL ステートメントの場合、この値は SYSCAT.STATEMENTS カタログ・ビューで使用される値と同じになります。
SECTNO INTEGER 不可 PK、FK この SQL ステートメントを含むパッケージ内のセクション番号。 動的 Explain SQL ステートメントの場合、これは実行時にこのステートメントのセクションを保持するために使用されるセクション番号です。 静的 SQL ステートメントの場合、この値は SYSCAT.STATEMENTS カタログ・ビューで使用される値と同じになります。
DIAGNOSTIC_ID INTEGER 不可 PK EXPLAIN_STATEMENT 表内のステートメントの特定のインスタンスの診断 ID。
CODE INTEGER 不可 不可 各診断メッセージに割り当てられる固有の番号。 メッセージ API はこの番号を使用して、診断メッセージのフルテキストを検索します。

  1. PK は列が主キーの一部であること、FK は列が外部キーの一部であることを意味します。

EXPLAIN_DIAGNOSTIC_DATA: 新規 Explain 表

EXPLAIN_DIAGNOSTIC_DATA 表には、EXPLAIN_DIAGNOSTIC 表に記録される特定の診断メッセージのメッセージ・トークンが入ります。 メッセージ・トークンは、メッセージを生成した SQL ステートメントの実行に固有の追加情報を提供します。

EXPLAIN_GET_MSGS 表関数は EXPLAIN_DIAGNOSTIC 表と EXPLAIN_DIAGNOSTIC_DATA Explain 表を照会し、特定のフォーマットを持つメッセージを戻します。

表 40. EXPLAIN_DIAGNOSTIC_DATA 表
列名 データ・タイプ NULL 可能 キー1 説明
EXPLAIN_REQUESTER VARCHAR(128) 不可 FK この Explain 要求のイニシエーターの許可 ID。
EXPLAIN_TIME TIMESTAMP 不可 FK Explain 要求の開始時刻。
SOURCE_NAME VARCHAR(128) 不可 FK 動的ステートメントが Explain されたときに実行されているパッケージの名前、または静的 SQL が Explain されたときのソース・ファイルの名前。
SOURCE_SCHEMA VARCHAR(128) 不可 FK Explain 要求のソースのスキーマまたは修飾子。
SOURCE_VERSION VARCHAR(64) 不可 FK Explain 要求のソースのバージョン。
EXPLAIN_LEVEL CHAR(1) 不可 FK この行が関連する Explain 情報のレベル。

有効な値は次のとおりです。

  • O: オリジナルのテキスト (ユーザーが入力したもの)
  • P: プラン選択
STMTNO INTEGER 不可 FK この Explain 情報が関連するパッケージ内のステートメント番号。 動的 Explain SQL ステートメントには 1 が設定されます。 静的 SQL ステートメントの場合、この値は SYSCAT.STATEMENTS カタログ・ビューで使用される値と同じになります。
SECTNO INTEGER 不可 FK この SQL ステートメントを含むパッケージ内のセクション番号。 動的 Explain SQL ステートメントの場合、これは実行時にこのステートメントのセクションを保持するために使用されるセクション番号です。 静的 SQL ステートメントの場合、この値は SYSCAT.STATEMENTS カタログ・ビューで使用される値と同じになります。
DIAGNOSTIC_ID INTEGER 不可 PK EXPLAIN_STATEMENT 表内のステートメントの特定のインスタンスの診断 ID。
ORDINAL INTEGER 不可 不可 フル・メッセージ・テキスト内のトークンの位置。
TOKEN VARCHAR(1000) 不可 フル・メッセージ・テキストに挿入されるメッセージ・トークン。 切り捨てられる場合もあります。
TOKEN_LONG BLOB(3M) 不可 詳細情報 (使用可能な場合)。

  1. PK は列が主キーの一部であること、FK は列が外部キーの一部であることを意味します。

Explain 機能で使用されるスキーマ

Explain 機能は、データを追加する Explain 表を修飾する際のスキーマとして以下の ID を使用します。

スキーマは、Explain 表のセット、または別のスキーマに属する Explain 表のセットを指す別名と関連付けることができます。

スキーマに属する Explain 表がない場合は、Explain 機能は SYSTOOLS スキーマに属する Explain 表がないかを確認し、それらの表を用いようとします。

日時値のストリング表記

タイム・ストリング

時刻のストリング表記は、数字で始まり、長さが 4 バイト以上のストリングです。末尾のブランクを付けることができます。 時刻の時部分の先行ゼロは省略可能であり、秒は完全に省略することができます。秒が省略されている場合は、0 秒が暗黙的に指定されたと見なされます。 したがって、13:30 は 13:30:00 に等しくなります。

時刻を示す有効なストリング・フォーマットを、以下の表に示します。各フォーマットは、名前および関連する省略形によって識別されます。

表 41. 時刻のストリング表記フォーマット
フォーマット名 省略形 時刻フォーマット
国際標準化機構 ISO hh.mm.ss 13.30.05
IBM(R) USA 標準規格 hh:mm AM または PM 1:30 PM
IBM 欧州標準規格 EUR hh.mm.ss 13.30.05
日本工業規格西暦 JIS hh:mm:ss 13:30:05
地域別定義 LOC アプリケーションのテリトリー・コードに依存します。 -

バージョン 8.2 から、「AM」および「PM」は小文字と大文字のいずれでも表記できるようになりました。

[ ページのトップ |前ページ | 次ページ | 目次 ]