WITH 陳述式由一或多個共用表格表示式和一個 SELECT 陳述式組成。共用表格表示式會定義具名的結果表格,該表格可指定成後續 SELECT 陳述式之 FROM 子句中所使用的表格。您必須使用 IBM® DB2 Universal Database™,才能使用這個選項。
您只能用 SQL 建置器來建立 WITH 陳述式;不能使用「建立新的 SQL 陳述式」精靈來建立它。
共用表格表示式
共用表格表示式的使用方式如下:
- 取代視圖,以避免建立視圖(當不需要視圖的一般用法且沒有使用定位的更新或刪除作業時)
- 要能夠利用從純量子選取,或是不確定或有外部動作的函數所衍生的直欄來進行分組
- 當結果表格以主變數為基礎時
- 當 FULLSELECT 中必須共用相同的結果表格時
- 當必須利用遞迴來衍生結果時
如果要建立 WITH 陳述式,請執行下列動作:
- 切換至「資料」視景中的「資料定義」視圖。
- 展開資料庫所在的專案或資料夾,然後展開資料庫節點,直到陳述式資料夾出現為止。
- 用滑鼠右鍵按一下陳述式資料夾,然後在蹦現功能表中按一下。
- 輸入陳述式名稱,然後按一下確定。 這時會開啟 SQL 建置器。
- 在「概要」視圖中,檢視 WITH 陳述式的結構。 有一 SELECT 陳述式會自動加入 WITH 陳述式中。這稱為 WITH 陳述式 SELECT。
您必須先定義共用表格表示式,再利用共用表格表示式中定義的表格來完成 WITH 陳述式 SELECT。
- 如果要新增共用表格表示式,請用滑鼠右鍵按一下「概要」視圖中的 WITH 陳述式,然後按一下蹦現功能表上的新增共用表格表示式。 如果要完成共用表格表示式,您必須根據 SELECT 陳述式的結果集定義一個暫存表格及其直欄。因為您所定義的表格只是暫時的,因此它不會出現在「資料定義」視圖中的表格資料夾內。在您於共用表格表示式中定義了暫存表格之後,您就可以將它加入 WITH 陳述式 SELECT 中。
- 在「概要」視圖中,按一下 WITH 陳述式下的共用表格表示式節點。
- 展開共用表格表示式節點,然後按一下所包含的 SELECT 陳述式。
- 請完成共用表格表示式的 SELECT 陳述式。
- 在「概要」視圖中,按一下共用表格表示式,然後指定直欄名稱並按一下 新增>> 按鈕來新增直欄以完成直欄清單。 所指名的直欄應對應於共用表格表示式 SELECT 陳述式之
SELECT 子句中所定義的直欄。
- 必要的話,請依照相同方式來新增其他共用表格表示式。
- 在「概要」視圖中選取 WITH 陳述式 SELECT。 它被稱為 statementnameSELECT,其中 statementname 代表 WITH 陳述式的名稱。這是整體套用到 WITH 陳述式的 SELECT 陳述式,且它會使用 WITH 陳述式中所定義的共用表格表示式。
- 完成 WITH 陳述式 SELECT。
- 完成之後,請選取 來執行 SQL 陳述式。
輸出會顯示在「資料庫輸出」視圖中。