大家在应用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
第一行规定序列的名称.
第二行规定序列的开始数值.
第三行规定每次新增的幅度.
第四行规定没有最大数值限制.
第五行规定最大数值限制.
99.如何更改序列?
ALTERSEQUENCESEQUENCE_NAME...
可以修改的参数
STARTWITH的START_NUMBER
INCREMENT的VALUE1
NOMAXVALUE的数值
NOCYCLE属性
MAXIMUMNUMBEROFSEQUENCEVALUES最大数值