SQL Reference

| | |

建立程序 (SQL) 陳述式授權

|

若陳述式的授權 ID 有 SYSADM 權限但沒有 DBADM 權限,會為了建立程序的目的而授與此 ID 隱含的 DBADM 權限。 這會套用到 CREATE PROCEDURE 陳述式 (SQL) |而非 CREATE PROCEDURE 陳述式 (外部)。

EXPLAIN_DIAGNOSTIC:新的解譯表格

EXPLAIN_DIAGNOSTIC 表格將包含一個項目,代表針對 EXPLAIN_STATEMENT 表格中解譯陳述式的特殊實例所產生的每一則診斷訊息。

EXPLAIN_GET_MSGS 表格函數會查詢 EXPLAIN_DIAGNOSTIC 及 EXPLAIN_DIAGNOSTIC_DATA 解譯表格,並傳回已格式化的訊息。

表 39. EXPLAIN_DIAGNOSTIC 表格
直欄名稱 資料類型 可為 NULL 索引值1 說明
EXPLAIN_REQUESTER VARCHAR(128) PK、FK 這個「解譯」要求之起始者的授權 ID。
EXPLAIN_TIME TIMESTAMP PK、FK 「解譯」要求的起始時間。
SOURCE_NAME VARCHAR(128) PK、FK 這是解譯動態陳述式時正在執行的資料包名稱,或這是當解譯靜態 SQL 時的來源檔名稱。
SOURCE_SCHEMA VARCHAR(128) PK、FK 「解譯」要求來源的綱目或限定元。
SOURCE_VERSION VARCHAR(64) PK、FK 「解譯」要求來源的版本。
EXPLAIN_LEVEL CHAR(1) PK、FK 與這個橫列相關的「解譯」資訊層次。

有效值如下:

  • O:使用者所輸入的原始文字
  • P:計畫選取階段
STMTNO INTEGER PK、FK 資料包內與這個「解譯」資訊相關的陳述式號碼。 設為 1 表示動態解譯 SQL 陳述式。若為靜態 SQL 陳述式, 這個值同於針對 SYSCAT.STATEMENTS 型錄概略表使用的值。
SECTNO INTEGER PK、FK 資料包內包含這個 SQL 陳述式的區段號碼。若為動態解譯 SQL 陳述式, 這是用來在執行時期保留這個陳述式區段的區段號碼。若為靜態 SQL 陳述式, 這個值同於針對 SYSCAT.STATEMENTS 型錄概略表使用的值。
DIAGNOSTIC_ID INTEGER PK EXPLAIN_STATEMENT 表格中特殊陳述式實例的診斷 ID。
CODE INTEGER 已指定給每一則診斷訊息的唯一號碼。訊息 API 可以使用號碼,來擷取診斷訊息的全文。

  1. PK 表示直欄是主要鍵的一部份;FK 則表示直欄是外來鍵的一部份。

EXPLAIN_DIAGNOSTIC_DATA:新的解譯表格

EXPLAIN_DIAGNOSTIC_DATA 表格包含特定診斷訊息 (已記錄在 EXPLAIN_DIAGNOSTIC 表格) 的訊息記號。 這些訊息記號提供了其他資訊,這是執行產生訊息之 SQL 陳述式時所特有的資訊。

EXPLAIN_GET_MSGS 表格函數會查詢 EXPLAIN_DIAGNOSTIC 及 EXPLAIN_DIAGNOSTIC_DATA 解譯表格,並傳回已格式化的訊息。

表 40. EXPLAIN_DIAGNOSTIC_DATA 表格
直欄名稱 資料類型 可為 NULL 索引值1 說明
EXPLAIN_REQUESTER VARCHAR(128) FK 這個「解譯」要求之起始者的授權 ID。
EXPLAIN_TIME TIMESTAMP FK 「解譯」要求的起始時間。
SOURCE_NAME VARCHAR(128) FK 這是解譯動態陳述式時正在執行的資料包名稱,或這是當解譯靜態 SQL 時的來源檔名稱。
SOURCE_SCHEMA VARCHAR(128) FK 「解譯」要求來源的綱目或限定元。
SOURCE_VERSION VARCHAR(64) FK 「解譯」要求來源的版本。
EXPLAIN_LEVEL CHAR(1) FK 與這個橫列相關的「解譯」資訊層次。

有效值如下:

  • O:使用者所輸入的原始文字
  • P:計畫選取階段
STMTNO INTEGER FK 資料包內與這個「解譯」資訊相關的陳述式號碼。 設為 1 表示動態解譯 SQL 陳述式。若為靜態 SQL 陳述式, 這個值同於針對 SYSCAT.STATEMENTS 型錄概略表使用的值。
SECTNO INTEGER FK 資料包內包含這個 SQL 陳述式的區段號碼。若為動態解譯 SQL 陳述式, 這是用來在執行時期保留這個陳述式區段的區段號碼。若為靜態 SQL 陳述式, 這個值同於針對 SYSCAT.STATEMENTS 型錄概略表使用的值。
DIAGNOSTIC_ID INTEGER PK EXPLAIN_STATEMENT 表格中特殊陳述式實例的診斷 ID。
ORDINAL INTEGER 完整訊息文字中的記號位置。
TOKEN VARCHAR(1000) 要插入完整訊息文字的訊息記號;可能會遭到截斷。
TOKEN_LONG BLOB(3M) 更詳細資訊,如果有的話。

  1. PK 表示直欄是主要鍵的一部份;FK 則表示直欄是外來鍵的一部份。

「解譯」機能所使用的綱目

當「解譯」機能限定它正要移入的「解譯」表格時,它會使用下列 ID 作為綱目:

綱目可以與「解譯」表格集產生關聯,或與指向「解譯」表格集 (位於不同綱目下) 的別名產生關聯。

如果在綱目下找不到任何「解譯」表格,則「解譯」機能會在 SYSTOOLS 綱目下檢查是否有「解譯」表格,並嘗試使用那些表格。

日期時間值的字串表示法

時間字串

時間的字串表示法是一個以數字開始的字串,而且其長度至少有 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" 可以小寫或大寫字體表示。

[ 頁面頂端 |前一頁 | 下一頁 | 目錄 ]