数据库

本类阅读TOP10

·SQL语句导入导出大全
·SQL Server日期计算
·SQL语句导入导出大全
·SQL to Excel 的应用
·Oracle中password file的作用及说明
·MS SQLServer OLEDB分布式事务无法启动的一般解决方案
·sqlserver2000数据库置疑的解决方法
·一个比较实用的大数据量分页存储过程
·如何在正运行 SQL Server 7.0 的服务器之间传输登录和密码
·SQL中两台服务器间使用连接服务器

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
DB2常用傻瓜问题1000问(之三)

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

                  DB2常用傻瓜问题1000问(之三)

作者:  CCBZZP

    大家在应用DB2的时候可能会遇到一些看似简单的问题,特别对新手来说,我在此简单的
总结一下,发布给大家,希望对大家能有所帮助,同时也欢迎大家一起探讨,共同发展,共同进步!
以下主要以DB2 7.X为基础的. 以下的字符为小写.

    本文对DB2高手来说是不用看的.

 

    所有字符為小寫.

 

 

91. 如何創建DB2的概要表?
  DB2的概要表功能類似于ORACLE的實体化視圖!
  語法為:
  CREATE SUMMARY TABLE TABLE_NAME AS (FULLSELECT) ...
  例如:
  定義一個可以刷新的概要表:
  CREATE SUMMARY TABLE TABLE_NAME AS (SELECT * FROM TABLE_NAME1 WHERE COL1='AAA')
  DATA INITIALLY DEFERRED  REFRESH DEFERRED
  其中DATA INITIALLY DEFERRED規定不能將數据作為CREATE TABLE語句的一部分插入表中.
  REFRESH DEFERRED規定表中的數据可以在任何使用了REFRESH TABLE語句的時候獲得刷新!

92. 如何刷新概要表?
  REFRESH TABLE SUM_TABLE
  其中SUM_TABLE為概要表.

93. 如何修改概要表?
  ALTER TABLE SUM_TABLE ...

94. 如何創建臨時表?
  語法:
  DECLARE GLOBAL TEMPORARY TABLE TABLE_NAME
  AS (FULLSELECT) DEFINITION ONLY
  EXCLUDING IDENTITY COLUMN ATTRIBUTES
  ON COMMIT DELETE ROWS
  NOT LOGGED
  第一行規定臨時表的名稱.
  第二行規定臨時表的列的定義.
  第三行規定不是從源結果表定義中復制的恒等列.
  第四行規定如果沒有打開WITH GOLD光標,將會刪除表的所有行.
  第五行規定不對表的改變進行記錄.
  例如:
  DECLARE GLOBAL TEMPORARY TABLE DEC_BSEMPMS
  AS (SELECT * FROM BSEMPMS) DEFINITION ONLY
  EXCLUDING IDENTITY COLUMN ATTRIBUTES
  ON COMMIT DELETE ROWS
  NOT LOGGED

95. 視圖的管理?
  如何創建視圖:
  CREATE VIEW VIEW_NAME AS SELECT * FROM TABLE_NAME WHERE ...
  刪除視圖:
  DROP VIEW VIEW_NAME

96. 如何知道視圖定義的內容?
  SELECT * FROM SYSCAT.VIEWS中的TEXT列中.

97. 如何創建別名?
  CREATE ALIAS ALIAS_NAME FOR PRO_NAME
  后面的PRO_NAME可以是TABLE,VIEW,ALIAS,NICKNAME等.

98. 如何創建序列?
  例如:
  CREATE SEQUENCE SEQUENCE_NAME
  START WITH START_NUMBER
  INCREMENT BY VALUE1
  NOMAXVALUE
  NOCYCLE
  CACHE MAXIMUM NUMBER OF SEQUENCE VALUES
  第一行規定序列的名稱.
  第二行規定序列的開始數值.
  第三行規定每次新增的幅度.
  第四行規定沒有最大數值限制.
  第五行規定最大數值限制.

99. 如何更改序列?
  ALTER SEQUENCE SEQUENCE_NAME ...
  可以修改的參數
  START WITH 的 START_NUMBER
  INCREMENT 的 VALUE1
  NOMAXVALUE的數值
  NOCYCLE屬性
  MAXIMUM NUMBER OF SEQUENCE VALUES 最大數值

100. 如何刪除序列?
  DROP SEQUENCE SEQUENCE_NAME

101. DB2支持導入(IMPORT)的文件格式有?
   有: DEL,ASC,IXF,WSF等

102. DB2支持導出(EXPORT)的文件格式有?
   有: DEL,IXF,WSF等.
   不支持ASC格式.

103. DB2支持載入(LOAD)的文件格式有?
   有: DEL,ASC,IXF等.
   不支持WSF格式.

104. DB2支持DB2MOVE的文件格式有?
   有: IXF等.
   不支持ASC,DEL,WSF格式.

105. DB2數据庫監控的兩個組成部分?
   快照監控(SNAPSHOT MONITOR)可返回特定時間點的數据庫活動的快照.
   事件監控(EVENT MONITOR)記錄事件發生的數据.
  
106. 系統監控的數据元素類型?
   計數器(COUNTER)記錄活動發生的次數.
   測量(GAUGE)測量條目的當前值.
   水線(WATER MARK)從監控來元素達到的最大或最小數值.
   信息(INFORMATION)監控活動的參照類型細節.
   時間點(TIMESTAMP)活動發生的日期時間.
   時間(TIME)返回一個活動花費的時間.
  
107. 如何知道監控堆所需的頁的數量?
   (NUMBER OF MONITORING APPLICATIONS+1)*(NUMBER OF DATABASES*(800+(NUMBER OF TABLES

ACCESSED*20)+((NUMBER OF APPLICATIONS CONNECTED+1)*(200+(NUMBER OF TABLE

SPACES*100)))))/4096
   其大小受參數MON_HEAD_SZ控制.  

108. 如何建立事件監控器?
   CREATE EVENT MONITOR TABLEMON FOR TABLES WRITE TO FILE 'D:\TEMP'

109. 如何激活事件監控器?
   SET EVENT MONITOR TABLEMON STATE 1

110. 如何停止事件監控器?
   SET EVENT MONITOR TABLEMON STATE 0

111. 如何查詢監控器的狀態?
   SELECT EVMONNAME,EVENT_MON_STATE(EVMONNAME) FROM SYSCAT.EVENTMONITORS

112. 如何刪除事件監控器?
   DROP EVENT MONITOR TABLEMON

113. UNIX和WINDOWS上創建管道事件監控器(PIPE意EVNT見MONITOR)的不同?
   第一步: 定義事件監控器
   UNIX:
   CONNECT TO SAMPLE
   CREATE EVENT MONITOR STMB2 FOR STATEMENTS WRITE TO PIPE '/TMP/EVPIPE1'
   WINDOWS:
   CONNECT TO SAMPLE
   CREATE EVENT MONITOR STMB2 FOR STATEMENTS WRITE TO PIPE '\\.\TMP\EVPIPE1'

   第二步: 建立命名管道
   UNIX:
   可以使用MKFIFO()函數或者MKFIFO命令.
   WINDOWS:
   可以使用CREATENAMEDPIPE()函數,管道名稱与CREATE EVENT MONITOR規定名稱相同.

   第三步: 打開命名管道
   UNIX:
   使用OPEN()函數.
   WINDOWS:
   使用CONNECT NAMEDPIPE()函數.
   也可以用DB2EVMON命令,如:
   DB2EVMON -DB SAMPLE -EVM STMB2

   第四步: 激活命名管道事件監控器
   除非自動激活命名管道事件監控器,否則
   SET EVENT MONITOR STMB2 STATE 1

   第五步: 從命名管道讀取數据
   UNIX:
   可以使用READ()函數.
   WINDOWS:
   可以使用READFILE()函數.

   第六步: 停止事件監控器
   SET EVENT MONITOR STMB2 STATE 0

   第七步: 關閉命名管道
   UNIX:
   可以使用CLOSE()函數.
   WINDOWS:
   可以使用DISCONNECTNAMEDPIPE()函數.

   第八步: 刪除命名管道
   UNIX:
   可以使用UNLINK()函數.
   WINDOWS:
   可以使用CLOSEHANDLE()函數.

114. DB2的SQL語句的類別?
   DCL: 數据控制語言,提供對數据庫對象的訪問權限.
   DDL: 數据定義語言,創建,修改,刪除數据庫對象的.
   DML: 數据操縱語言,用來插入,更新,刪除數据的.

115. DCL的權限有哪些?
   CONTROL權限: 如果用戶創建一個對象,則改用戶能完全訪問該對象.
   GRANT 語句將權限授予給用戶.
   REVOKE 語句撤銷一個用戶的權限.

116. DDL有哪些?
   CREATE
   DECLARE
   ALTER
   DROP
   等

117. DML有哪些?
   INSERT
   SELECT
   UPDATE
   DELETE
   等

118. DB2有沒有布爾類型?
   沒有

119. 如何查詢DB2的內置函數?
   自帶文檔ADMINISTION-->SQL REFERENCE-->FUNCTIONS內

120. 如何執行DB2的腳本文件?
   DB2 -VTF FILENAME

121. DB2中象ORACLE的ROWNUM()是?
   ROW_NUMBER() OVER()

122. DB2如何得到錯誤代碼的說明?
   DB2 ? SQLCODE

123. DB2中的VARCHAR轉換為INTEGER的函數為?
    CAST()

124. DB2中的INTEGER轉換為VARCHAR的函數為?
    CHAR()

125. DB2中的VARCHAR轉換為DATE的函數為?
    DATE()

126. DB2中的DATE轉換為VARCHAR的函數為?
    CHAR()

127. DB2中的TRIGGER能否修改?
    不能,只能刪除重建

128. WINDOWS下如何知道DB2的端口號?
    \WINNT\SYSTEM32\DRIVERS\ETC\SERVICES

129. DB2如何執行存儲過程?
    可以  DB2 CALL PROCEDURE_NAME

130. 如何進入DB2的DOS命令方式?
    DB2CMD

131. 如何得到DB2的進程號?
    DB2 LIST APPLICATIONS

132. 如何殺DB2的進程?
    FORCE APPLICATION(ID)

133. A用戶安裝DB2后,如何用B用戶啟動DATABASE?
    在B用戶下的.PROFILE中加上
    ./HOME/DB2INST/SQLLIB/DB2PROFILE

134. DB2中類似ORACLE的快照是?
     SUMMARY TABLE



   待續...

  

 




相关文章

相关软件