大家在應用DB2的時候可能會遇到一些看似簡單的問題,特別對新手來說,我在此簡單的總結一下,發布給大家,希望對大家能有所幫助,同時也歡迎大家一起探討,共同發展,共同進步!
以下主要以DB27.X為基礎的.以下的字符為小寫.
本文對DB2高手來說是不用看的.
所有字符為小寫.
91.如何創建DB2的概要表?
DB2的概要表功能類似於Oracle的實體化視圖!
語法為:
CREATESUMMARYTABLETABLE_NAMEAS(FULLSELECT)...
例如:
定義一個可以刷新的概要表:
CREATESUMMARYTABLETABLE_NAMEAS(SELECT*FROMTABLE_NAME1WHERECOL1='AAA')
DATAINITIALLYDEFERREDREFRESHDEFERRED
其中DATAINITIALLYDEFERRED規定不能將數據作為CREATETABLE語句的一部分插入表中.
REFRESHDEFERRED規定表中的數據可以在任何使用了REFRESHTABLE語句的時候獲得刷新!
92.如何刷新概要表?
REFRESHTABLESUM_TABLE
其中SUM_TABLE為概要表.
93.如何修改概要表?
ALTERTABLESUM_TABLE...
94.如何創建臨時表?
語法:
DECLAREGLOBALTEMPORARYTABLETABLE_NAME
AS(FULLSELECT)DEFINITIONONLY
EXCLUDINGIDENTITYCOLUMNATTRIBUTES
ONCOMMITDELETEROWS
NOTLOGGED
第一行規定臨時表的名稱.
第二行規定臨時表的列的定義.
第三行規定不是從源結果表定義中復制的恆等列.
第四行規定如果沒有打開WITHGOLD光標,將會刪除表的所有行.
第五行規定不對表的改變進行記錄.
例如:
DECLAREGLOBALTEMPORARYTABLEDEC_BSEMPMS
AS(SELECT*FROMBSEMPMS)DEFINITIONONLY
EXCLUDINGIDENTITYCOLUMNATTRIBUTES
ONCOMMITDELETEROWS
NOTLOGGED
95.視圖的管理?
如何創建視圖:
CREATEVIEWVIEW_NAMEASSELECT*FROMTABLE_NAMEWHERE...
刪除視圖:
DROPVIEWVIEW_NAME
96.如何知道視圖定義的內容?
SELECT*FROMSYSCAT.VIEWS中的TEXT列中.
97.如何創建別名?
CREATEALIASALIAS_NAMEFORPRO_NAME
後面的PRO_NAME可以是TABLE,VIEW,ALIAS,NICKNAME等.
98.如何創建序列?
例如:
CREATESEQUENCESEQUENCE_NAME
STARTWITHSTART_NUMBER
INCREMENTBYVALUE1
NOMAXVALUE
NOCYCLE
CACHEMAXIMUMNUMBEROFSEQUENCEVALUES
第一行規定序列的名稱.
第二行規定序列的開始數值.
第三行規定每次新增的幅度.
第四行規定沒有最大數值限制.
第五行規定最大數值限制.