抽象或結構資料類型是關聯式資料庫中建立模型及儲存複雜物件的 典型機制。 結構化類型其中可以內含多個欄位,例如,幾何形狀 (笛卡兒座標列示) 或員工 (姓名、地址、性別、生日及員工編號) 都可以建立模型並儲存在 DB2 Universal Database 中。
結構化類型支援已經過擴充,提供建立附有結構化類型直欄的表格功能。 此外,結構化類型可以在結構化類型中巢狀化。 這表示結構化類型的屬性不再限於基本 SQL 類型,現在它們可以是 另一種結構化類型。
在版本 7 中,您可以使用輸入參數或為結構化類型的 RETURNS 子句中的參數,定義函數。您也可以定義每一個結構化資料類型的方法, 允許資料的囊封技術行為。 方法的定義非常類似函數,但其使用卻與結構化類型密切相關。 基本上它是一個常式,附有結構化類型案例作為其 隱含的第一個引數。
重組表格 (REORG) 及 db2look 公用程式可以在附有結構化類型直欄 的表格中使用。 請參閱 Command Reference,取得有關 REORG 的其餘資訊,並參閱 Administration Guide: Implementation 及 Administration Guide: Performance, 取得結構化類型及 db2look 的其餘相關資訊。
轉換函數可以讓結構化類型直欄與使用者撰寫的程式一起使用。 轉換函數會將結構化資料類型中的複雜結構轉換為其基本 SQL 類型的次序集。 它們也可以將基本屬性轉換回其結構化類型。這些轉換在將結構化類型移入及移出資料庫時是必要的。 請參閱Administration Guide: Implementation,取得其餘資訊。
SQL 主體函數在其主體中包含了簡式 SQL 程序陳述式,該主題並內含於呼叫 SQL (類似巨集) 中。這可讓查詢編譯器將整個 SQL 陳述式最佳化,包括 SQL 主體函數。 結構化資料類型利用 SQL 主體函數作為其轉換函數 (請參閱轉換函數) 及方法 (請參閱結構化類型)。
DB2 版本 7.2 提供了動態複合陳述式這種新型複合 SQL,可以幫助資料庫管理程式減少負荷, 並提高處理網路上的要求的效能。動態複合陳述式對牽涉到不太控制串流邏輯但有意義的資料流程的短小 Script 來說,是非常理想的功能。
在動態複合陳述式中,您可以:
DB2 可將動態複合陳述式編譯成單一陳述式。 有關的詳細資訊,請參閱 DB2 版本注意事項。
DB2 版本 7.2 提供了透過數個 SQL 控制的陳述式來執行儲存程序、 觸發函式及 SQL 函數中的程序性邏輯的能力。
在版本 7.2 之前,觸發函式僅提供簡式順序性 - 沒有條件性邏輯或迴圈。這項觸發函式的加強功能可讓您更容易地將應用程式移轉到 DB2。您也會從 SQL 函數 (如 SCALAR、TABLE 或 ROW) 的加強功能中獲得益處。例如, 您可以使用「資料倉儲中心」中含控制邏輯的 SQL 表格函數, 或 SQL 純量函數將其它「資料庫管理系統 (DBMS)」對映到 DB2。
版本 7.2 啟用了觸發函式及 SQL 函數中的下列控制陳述式:
控制陳述式被整合到 DB2 查詢編譯器中。有關 SQL 控制陳述式及變數的詳細資訊,請參閱 SQL Reference。 有關此版本 7.2 加強功能的詳細資訊,請參閱 DB2 版本注意事項。
您現在可以對鍵入表格使用參照整合性限制及觸發函式。