DB2常用傻瓜問題1000問
DB2常用傻瓜問題1000問
大家在應用DB2的時候可能會遇到一些看似簡單的問題,特別對新手來說,我在此簡單的
總結一下,釋出給大家,希望對大家能有所幫助,同時也歡迎大家一起探討,共同發展,共同進步!
以下主要以DB2 7.X為基礎的. 以下的字元為小寫.
db2 命令語法:
db2 [option ...] [db2-command | sql-statement |[? [phrase | message | sqlstate | class-code]]]
option: -a, -c, -d, -e{c|s}, -finfile, -i, -lhistfile, -m, -n, -o, -p, -q, -rreport, -s, -t, -td;, -v, -w, -x, -zoutputfile.
for example:
db2 -a ---> db2 [options]
db2 list tables for all ---> db2 [db2-command]
db2 list tables for schema db2admin ---> db2 [db2-command]
db2 list tables ---> db2 [db2-command]
db2 "select * from tablename" ---> db2 [sql-statement ]
db2 ? options ---> db2 ? [phrase ]
db2 ? SQL30081N ---->db2 ? [message]
db2 ? DB21034E
db2 ? 42622 --->db2 ? [sqlstate]
db2 ? 00 --->db2 ? [class-code]
本文對DB2高手來說是不用看的.
1. DB2產品的級別有那些?
企業版的 NTERPRISE EDITION
工作組版 WORKGROUP EDITION
企業擴充套件版 ENTERPRISE EXTENDED EDITION
個人版的 PERSONAL EDITION
衛星版的 SATELLITE EDITION
微型版的 EVERYPLACE
2. 可以連線到DB2資料庫的產品有哪些?
DB2客戶端
DB2 CONNECT
DB2 DATAPROPAGATOR
DB2 NET.DATA
DB2 DATAJOINER
DB2 RELATIONAL CONNECT
WEBSPHERE應用伺服器
等
3. DB2支援的通訊協議有哪些?
TCP/IP
NETBIOS
APPG
IPX/SPX
NAME PIPE
等
4. DB2客戶端產品有哪些?
DB2執行時間客戶端 DB2 RUNTIME CLIENT
DB2管理客戶端 DB2 ADMINISTRATION CLIENT
DB2應用程式開發客戶端 DB2 APPLICATION DEVELOPMENT CLIENT
DB2瘦客戶端 DB2 THIN CLIENT
5. 一個資料庫是否可以安裝在多個資料庫伺服器上?
可以
6. 從哪個版本後儲存過程可以用SQL語句來建立?
7.1版後
7. DB2提供哪些關係擴充套件器?
文字擴充套件器 TEXT EXTENDER
圖象擴充套件器 IMAGE EXTENDER
音訊擴充套件器 AUDIO EXTENDER
視訊擴充套件器 VIDEO EXTENDER
空間資料擴充套件器 SPATIAL EXTENDER
XML擴充套件器 XML EXTENDER
網路搜尋擴充套件器 NET.SEARCH EXTENDER
8. WINDOWS和OS/2環境下的DB2安裝目錄結構?
用SETUP.EXE來安裝
/SQLLIB 安裝的根目錄,包括README檔案
/SQLLIB/ADSM 包含ADSTAR分散式儲存管理器檔案
/SQLLIB/BIN 包含DB2工具的可執行檔案
/SQLLIB/BND 包含DB2工具的繫結檔案
/SQLLIB/CC 包含執行控制中心所需的檔案
/SQLLIB/CFG 包含預設的系統配置檔案
/SQLLIB/CONV 包含內碼表轉換表檔案
/SQLLIB/DB2 預設的例項目錄
/SQLLIB/DB2DAS00 預設的DB2管理伺服器目錄
/SQLLIB/DOC 包含DB2聯機手冊
/SQLLIB/FUNCTION 預設的使用者自定義函式目錄
/SQLLIB/FUNCTION/UNFENCED 預設的非隔離使用者自定義函授目錄
/SQLLIB/HELP 聯機幫助檔案
/SQLLIB/JAVA DB2所需的JAVA類庫
JAVA12 包含JDK1.2的支援程式
/SQLLIB/MISC 包含HTML搜尋伺服器檔案
/SQLLIB/MSG/PRIME 包含資訊檔案
/SQLLIB/QP 包含QUERY PATROLLER的客戶端檔案
/SQLLIB/SAMPLES 包含樣例程式和樣例指令碼
/SQLLIB/SPMLOG 包含DB2同步點管理器日誌檔案
/SQLLIB/THNSETUP 包含瘦客戶端安裝檔案
9. UNIX和LINUX環境下的DB2安裝目錄結構?
用DB2SETUP.EXE來安裝
安裝的根目錄下還將建立以下目錄:
README 安裝的根目錄,包括README檔案
ADM 包含系統管理工具檔案
ADSM 包含ADSTAR分散式儲存管理器檔案
BIN 包含DB2工具的二進位制可執行檔案
BND 包含DB2工具的繫結檔案
CC 包含執行控制中心所需的檔案
CFG 包含預設的系統配置檔案
CONV 包含內碼表轉換表檔案
DOC 包含DB2聯機手冊
FUNCTION 預設的使用者自定義函式目錄
FUNCTION/UNFENCED 預設的非隔離使用者自定義函授目錄
INSTALL 包含安裝程式
INSTANCE 包含例項指令碼
JAVA DB2所需的JAVA類庫
LIB DB2庫檔案
MAP 包含DB2 CONNECT使用的對映檔案
MISC 包含HTML搜尋伺服器檔案
SAMPLES 包含樣例程式和樣例指令碼
MSG/$L 包含DB2資訊檔案
10. AIX下用哪個命令來安裝DB2?
INSTALLP命令
11. 同一作業系統下可以安裝多個DB2 資料庫?
可以的
12. 如何停止例項?
DB2STOP
DB2STOP FORCE (強制停止)
13. 如何啟動例項?
DB2START
14. 如何修改註冊項的值?
DB2SET可以修改
如:
設定當前例項的一個引數
DB2SET PARAMETER=VALUE
設定一個全域性級的引數
DB2SET PARAMETER=VALUE -G (小寫)
檢視能在配置檔案登錄檔中設定的所有變數的列表
DB2SET -LR (小寫)
15. 如何在CLP執行作業系統的命令?
在命令前加" ! "作為字首
DB2=> !DIR C:/
16. 在CLP中命令過長怎麼辦?
用 " / " 作為續行符號
17. 如何獲得DB2的命令的語法相關資訊?
DB2 ? 顯示所有DB2命令
DB2 ? COMMAND 顯示命令資訊
DB2 ? SQLnnnn 顯示這個SQLCODE的解釋資訊
DB2 ? DB2nnnn 顯示這個DB2錯誤的解釋資訊
18. 如何檢視當前CLP的設定?
DB2=>LIST COMAND OPTIONS
19. 如何更新當前CLP會話的特定項設定?
DB2 UPDATE COMMAND OPTIONS USING OPTIONS ...
20. COMMAND WINDOWS可以通過哪個命令呼叫?
DB2CMD命令
21. 管理伺服器的預設名為?
UNIX下為DB2AS
WINDOWS下為DB2DAS00
22. 常用管理DB2伺服器例項的命令?
DB2ADMIN START 啟動DB2管理伺服器例項
DB2ADMIN STOP 停止DB2管理伺服器例項
DASICRT UNIX下建立DB2管理伺服器例項
DASIDROP UNIX下刪除DB2管理伺服器例項
DB2ADMIN CREATE WINDOWS OR OS/2下建立DB2管理伺服器例項
DB2ADMIN DROP WINDOWS OR OS/2下刪除DB2管理伺服器例項
DB2 GET ADMIN CFG 顯示DB2管理伺服器的配置引數
DB2 UPDATE ADMIN CFG 修改DB2管理伺服器的配置引數
DB2 RESET ADMIN CFG 將DB2管理伺服器的配置引數設為預設值
23. DB2目錄分為哪幾種?
系統資料庫目錄
本地資料庫目錄
節點目錄
DCS目錄
管理節點目錄
24. 如何檢視系統資料庫目錄?
LIST DB DIRECTORY
25. 如何檢視資料庫伺服器目錄?
LIST NODE DIRECTORY
26. DB2例項的伺服器的預設埠是?
50000
伺服器名稱為DB2CDB2
27. DB2 UDB伺服器端的認證型別有?
SERVER
SERVER_ENCRYPT
CLIENT
DCE
DCE_SERVER_ENCRYPT
KERBEROS
KRB_SERVER_ENCRYPT
28. DB2客戶端的認證型別有?
SERVER
SERVER_ENCRYPT
DCS
DCS_ENCRYPT
CLIENT
DCE
29. DB2中有哪幾種型別的許可權?
SYSADM 系統管理許可權
SYSCTRL 系統控制許可權
SYSMAINT 系統維護許可權
DBADM 資料庫管理許可權
LOAD 對錶進行LOAD操作的許可權
30. 不能通過GRANT授權的許可權有哪種?
SYSAM
SYSCTRL
SYSMAINT
要更該上述許可權必須修改資料庫管理器配置引數
31. 表的型別有哪些?
永久表(基表)
臨時表(說明表)
臨時表(派生表)
32. 如何知道一個使用者有多少表?
SELECT * FROM SYSIBM.SYSTABLES WHERE CREATOR='USER'
33. 如何知道使用者下的函式?
select * from IWH.USERFUNCTION
select * from sysibm.SYSFUNCTIONS
34. 如何知道使用者下的VIEW 數?
select * from sysibm.sysviews WHERE CREATOR='USER'
35. 如何知道當前DB2的版本?
select * from sysibm.sysversions
db2level
36. 如何知道使用者下的TRIGGER 數?
select * from sysibm.SYSTRIGGERS WHERE SCHEMA='USER'
37. 如何知道TABLESPACE的狀況?
select * from sysibm.SYSTABLESPACES
38. 如何知道SEQUENCE的狀況?
select * from sysibm.SYSSEQUENCES
39. 如何知道SCHEMA的狀況?
select * from sysibm.SYSSCHEMATA
db2 "select name from sysibm.sysschemata" 查詢當前資料庫中所有的schema
40. 如何知道INDEX的狀況?
select * from sysibm.SYSINDEXES
41. 如何知道表的欄位的狀況?
select * from sysibm.SYSCOLUMNS WHERE TBNAME='AAAA'
decribe table <tablename>
42. 如何知道DB2的資料型別?
select * from sysibm.SYSDATATYPES
43. 如何知道BUFFERPOOLS狀況?
select * from sysibm.SYSBUFFERPOOLS
44. DB2表的欄位的修改限制?
只能修改VARCHAR2型別的並且只能增加不能減少.
45. 如何檢視錶的結構?
DESCRIBLE TABLE TABLE_NAME
OR
DESCRIBLE SELECT * FROM SCHEMA.TABLE_NAME
46. 如何快速清除一個大表?
ALTER TABLE TABLE_NAME ACTIVE NOT LOGGED INITALLY WITH EMPTY TABLE
47. 如何檢視資料庫的包?
select * from sysCAT.PACKAGES
48. 如何檢視資料庫的儲存過程?
SELECT * FROM SYSCAT.PROCEDURES
49. 如何檢視錶的約束?
SELECT * FROM SYSCAT.CHECKS WHERE TABNAME='AAAA'
50. 如何檢視錶的引用完整約束?
SELECT * FROM SYSCAT.REFERENCES WHERE TABNAME='AAAA'
51. 安裝DB2預設的事例名稱是?
在WINDOWS或OS/2中預設的是DB2
在LINUX或UNIX環境下預設的是DB2INST1
52. 安裝後的預設帳戶是?
在WINDOWS或OS/2中預設的是DB2ADMIN
在LINUX或UNIX環境下預設的是DB2AS
53. 事例的型別有哪些?
CLIENT(客戶)
STANDALONE(獨立的)
SATELLITE(衛星)
EE DB2
EEE
54. 如何建立事例?
DB2ICRT INSTNAME <...PARAMETERS>
55. 如何列出系統上的所有可用事例?
DB2ILIST
56. 如何知道當前對話用的是哪個事例?
GET INSTANCE
57. 如何更新事例的配置?
DB2IUPDT <INST NAME><PARAMETER OPTIONS...>
58. 如何刪除事例?
DB2IDROP INSTANCE_NAME
具體步驟如下:
停止事例上所有應用程式
在所有開啟的命令列上執行DB2 TERMINATE
執行DB2STOP
備份DB2INSTPROF註冊變數指出的事例目錄
退出事例所有登陸者
使用DB2IDROP
也可以刪除ID
59. 如何列出本地系統上有許可資訊的所有產品?
DB2LICM -L
60. 如何增加一產品許可?
DB2LICM -A FILENAME
61. 如何刪除一個產品的許可?
DB2LICM -R PRODUCT PASSWORD
62. 如何更新已購買的許可數量?
DB2LICM -U <PRODUCT PASSWORD> <NUMBER OF USERS>
63. 如何強制只使用已經購買的數量?
DB2LICM -E HARD
64. 如何更新系統上所使用的許可政策型別?
DB2LICM -P <PRODUCT PASSWORD> REGISTERED CONCURRENT
65. 如何更新系統上的處理器的數量?
DB2LICM -N <PRODUCT PASSWORD> <NUMBER OF PROCESSORS>
66. 如何查詢許可檔案記錄的版本資訊?
DB2LICM -V
67. 如何查詢DB2LICM的幫助資訊?
DB2LICM -H
68. 一個資料庫至少包括哪些表空間?
一個目錄表空間
一個或多個使用者表空間
一個或多個臨時表空間
69. 根據資料與儲存空間之間移動的控制方式不同,分哪兩種表空間?
系統管理的空間(SMS)
資料庫管理的空間(DMS)
70. 如何列出系統資料庫目錄的內容?
LIST DATABASE DIRECTORY
71. CREATE DATABASE 是SQL命令嗎?
不是, 是系統命令
72. 如何檢視資料庫ABC的配置檔案的內容?
GET DATABASE CONFIGURATION FOR ABC
73. 如何將資料庫ABC的引數設定為預設數值?
RESET DATABASE CONFIGURATION FOR ABC
74. 如何修改資料庫ABC配置引數數值?
UPDATE DATABASE CONFIGURATION FOR ABC
USING <PARAMETER NAME> <NEW VALUE>
75. 如何重新啟動資料庫?
RESTART DATABASE DATABASE_NAME
76. 如何啟用資料庫?
ACTIVATE DATABASE DATABASE_NAME
77. 如何停止資料庫?
DEACTIVATE DATABASE DATABASE_NAME
78. 如何刪除資料庫?
DROP DATABASE DATABASE_NAME
79. 如何建立模式?
CREATE SCHEMA SCHEMA_NAME
80. 如何設定模式?
SET SCHEMA=SCHEMA_NAME
81. 表的型別有哪些?
基本表
結果表
概要表
型別表
子型別
子表
宣告的臨時表
系統臨時表
82. 如何定義序列?
CREATE SEQUENCE ORDERSEQ START WITH 1 INCREMENT BY 1 NOMAXVALUE NOCYCLE CACHE 24
83. 如何將表置於檢查掛起狀態?
SET INTEGRITY TABLE_NAME OFF
84. 如何獲得表的排斥鎖?
LOCK TABLE TABLE_NAME IN EXCLUSIVE MODE
85. 如何把表調整為沒有檢查資料的線上狀態?
SET INTEGRITY FOR TABLE_NAME ALL IMMEDIATE UNCHECKED
86. 如何解除表的鎖定?
COMMIT
87. 如何關閉表的日誌?
ALTER TABLE TABLE_NAME ACTIVE NOT LOGGED INIALLY
88. 如何刪除表?
DROP SCHEMA.TABLE_NAME
89. 如何重新命名錶?
RENAME TABLE_OLD TO TABLE_NEW
90. 如何取當前時間?
SELECT CURRENT TIMESTAMP FROM SYSIBM.SYSDUMMY1
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
DB2函式
135. AVG()
返回一組數值的平均值.
SELECT AVG(SALARY) FROM BSEMPMS;
136. CORR(),CORRELATION()
返回一對數值的關繫系數.
SELECT CORRELATION(SALARY,BONUS) FROM BSEMPMS;
137. COUNT()
返回一組行或值的個數.
SELECT COUNT(*) FROM BSEMPMS;
138. COVAR(),COVARIANCE()
返回一對數值的協方差.
SELECT COVAR(SALARY,BONUS) FROM BSEMPMS;
139. MAX()
返回一組數值中的最大值.
SELECT MAX(SALARY) FROM BSEMPMS;
140. MIN()
返回一組數值中的最小值.
SELECT MIN(SALARY) FROM BSEMPMS;
141. STDDEV()
返回一組數值的標準偏差.
SELECT STDDEV(SALARY) FROM BSEMPMS;
142. SUM()
返回一組資料的和.
SELECT SUM(SALARY) FROM BSEMPMS;
143. VAR(),VARIANCE()
返回一組數值的方差.
SELECT VARIANCE(SALARY) FROM BSEMPMS;
144. ABS(),ABSVAL()
返回引數的絕對值.
SELECT ABS(-3.4) FROM BSEMPMS;
145. ACOS()
返回引數的反餘弦值.
SELECT ACOS(0.9) FROM BSEMPMS;
146. ASCII()
返回整數引數最左邊的字元的ASCII碼.
SELECT ASCII('R') FROM BSEMPMS;
147. ASIN()
返回用弧度表示的角度的引數的反正弦函式.
SELECT ASIN(0.9) FROM BSEMPMS;
148. ATAN()
返回引數的反正切值,該引數用弧度表示的角度的引數.
SELECT ATAN(0.9) FROM BSEMPMS;
149. ATAN2()
返回用弧度表示的角度的X和Y坐標的反正切值.
SELECT ATAN2(0.5,0.9) FROM BSEMPMS;
150. BIGINT()
返回整型常量中的數字或字串的64位整數表示.
SELECT BIGINT(EMP_NO) FROM BSEMPMS;
151. CEILING() OR CEIL()
返回比引數大或等於引數的最小的整數值.
SELECT CEILING(3.56) FROM BSEMPMS;
SELECT CEIL(4.67) FROM BSEMPMS;
152. CHAR()
返回日期時間型,字串,整數,十進位制或雙精度浮點數的字串表示.
SELECT CHAR(SALARY,',') FROM BSEMPMS;
153. CHR()
返回具有由引數指定的ASCII碼的字元.
SELECT CHAR(167) FROM BSEMPMS;
154. CONCAT()
返回兩個字串的連線.
SELECT CONCAT(EMP_NO,EMP_NAM) FROM BSEMPMS;
155. YEAR()
返回數值的年部分.
SELECT YEAR('2003/01/02') FROM BSEMPMS;
156. VARCHAR()
返回字串,日期型,圖形串的可變長度的字串表示.
SELECT VARCHAR(EMP_NAM,50) FROM BSEMPMS;
157. UCASE() OR UPPER()
返回字串的大寫.
SELECT UCASE(EMP_NAM) FROM BSEMPMS;
SELECT UPPER(EMP_NO) FROM BSEMPMS;
158. TRUNCATE() OR TRUNC()
從表示式小數點右邊的位置開始截斷並返回該數值.
SELECT TRUNCATE(345.6789,2) FROM BSEMPMS;
159. TIME()
返回一個數值中的時間.
SELECT TIME('2001-03-19.12.30.123456') FROM BSEMPMS;
160. SUBSTR(EXP1,EXP2)
返回EXP1串自EXP2處開始的子串.
SELECT SUBSTR('CDNJFDJFJD',5) FROM BSEMPMS;
SELECT SUBSTR('CDNJFDJFJD',5,2) FROM BSEMPMS;
161. SQRT()
返回該引數的平方根.
SELECT SQRT(36) FROM BSEMPMS;
162. SPACE()
返回由引數指定的長度,包含空格在內的字串.
SELECT SPACE(10) FROM BSEMPMS;
163. SECOND()
返回一個數值的秒部分.
SELECT SECOND('18:34:32') FROM BSEMPMS;
164. RTRIM()
刪除字串尾部的空格.
SELECT RTRIM('COMMENT ') FROM BSEMPMS;
165. ROUND(EXP1,EXP2)
返回EXP1小數點右邊的第EXP2位置處開始的四捨五入值.
SELECT ROUND(2345.6789,2) FROM BSEMPMS;
166. REPLACE(EXP1,EXP2,EXP3)
用EXP3替代EXP1中所有的EXP2
SELECT CHAR(REPLACE('ROMANDD','NDD','CCB'),10) FROM BSEMPMS;
167. REPEAT(EXP1,EXP2)
返回EXP1重複EXP2次後的字串.
SELECT CHAR(REPEAT('REPEAT',3),21) FROM BSEMPMS;
168. REAL()
返回一個數值的單精度浮點數表示.
SELECT REAL(10) FROM BSEMPMS;
169. RAND()
返回0和1之間的隨機浮點數.
SELECT RAND() FROM BSEMPMS;
170. POWER(EXP1,EXP2)
返回EXP1的EXP2次冪.
SELECT POWER(2,5) FROM BSEMPMS;
171. POSSTR(EXP1,EXP2)
返回EXP2在EXP1中的位置.
SELECT ('ABCDEFGH','D') FROM BSEMPMS;
172. NULLIF(EXP1,EXP2)
如果EXP1=EXP2,則為NULL,否則為EXP1
173. NODENUMBER()
返回行的分割槽號.
SELECT NODENUMBER(EMP_NO) FROM BSEMPMS;
174. MONTH()
返回一個數值的月部分.
SELECT MONTH('2003/10/20') FROM BSEMPMS;
175. MOD(EXP1,EXP2)
返回EXP1除以EXP2的餘數.
SELECT MOD(20,8) FROM BSEMPMS;
176. MINUTE()
返回一個數值的分鐘部分.
SELECT MINUTE('18:34:23') FROM BSEMPMS;
177. LTRIM()
刪除字串前面的空格.
SELECT LTRIM(' CDDD') FROM BSEMPMS;
178. HOUR()
返回一個數值的小時部分.
SELECT HOUR('18:34:23') FROM BSEMPMS;
179. DOUBLE()
如果引數是一個數字表示式,返回與其相對應的浮點數,如果引數是字串表示式,則返回該數的字串表示式.
SELECT DOUBLE('5678') FROM BSEMPMS;
180. EXP()
返回引數的指數函式.
SELECT EXP(2) FROM BSEMPMS;
181. FLOAT()
返回一個數的浮點表示.
SELECT FLOAT(789) FROM BSEMPMS;
182. FLOOR()
返回小於或等於引數的最大整數.
SELECT FLOOR(88.93) FROM BSEMPMS;
183. HEX()
返回一個表示為字串的值的16進製表示.
SELECT HEX(16) FROM BSEMPMS;
待續...
大家在應用DB2的時候可能會遇到一些看似簡單的問題,特別對新手來說,我在此簡單的
總結一下,釋出給大家,希望對大家能有所幫助,同時也歡迎大家一起探討,共同發展,共同進步!
以下主要以DB2 7.X為基礎的. 以下的字元為小寫.
db2 命令語法:
db2 [option ...] [db2-command | sql-statement |[? [phrase | message | sqlstate | class-code]]]
option: -a, -c, -d, -e{c|s}, -finfile, -i, -lhistfile, -m, -n, -o, -p, -q, -rreport, -s, -t, -td;, -v, -w, -x, -zoutputfile.
for example:
db2 -a ---> db2 [options]
db2 list tables for all ---> db2 [db2-command]
db2 list tables for schema db2admin ---> db2 [db2-command]
db2 list tables ---> db2 [db2-command]
db2 "select * from tablename" ---> db2 [sql-statement ]
db2 ? options ---> db2 ? [phrase ]
db2 ? SQL30081N ---->db2 ? [message]
db2 ? DB21034E
db2 ? 42622 --->db2 ? [sqlstate]
db2 ? 00 --->db2 ? [class-code]
本文對DB2高手來說是不用看的.
1. DB2產品的級別有那些?
企業版的 NTERPRISE EDITION
工作組版 WORKGROUP EDITION
企業擴充套件版 ENTERPRISE EXTENDED EDITION
個人版的 PERSONAL EDITION
衛星版的 SATELLITE EDITION
微型版的 EVERYPLACE
2. 可以連線到DB2資料庫的產品有哪些?
DB2客戶端
DB2 CONNECT
DB2 DATAPROPAGATOR
DB2 NET.DATA
DB2 DATAJOINER
DB2 RELATIONAL CONNECT
WEBSPHERE應用伺服器
等
3. DB2支援的通訊協議有哪些?
TCP/IP
NETBIOS
APPG
IPX/SPX
NAME PIPE
等
4. DB2客戶端產品有哪些?
DB2執行時間客戶端 DB2 RUNTIME CLIENT
DB2管理客戶端 DB2 ADMINISTRATION CLIENT
DB2應用程式開發客戶端 DB2 APPLICATION DEVELOPMENT CLIENT
DB2瘦客戶端 DB2 THIN CLIENT
5. 一個資料庫是否可以安裝在多個資料庫伺服器上?
可以
6. 從哪個版本後儲存過程可以用SQL語句來建立?
7.1版後
7. DB2提供哪些關係擴充套件器?
文字擴充套件器 TEXT EXTENDER
圖象擴充套件器 IMAGE EXTENDER
音訊擴充套件器 AUDIO EXTENDER
視訊擴充套件器 VIDEO EXTENDER
空間資料擴充套件器 SPATIAL EXTENDER
XML擴充套件器 XML EXTENDER
網路搜尋擴充套件器 NET.SEARCH EXTENDER
8. WINDOWS和OS/2環境下的DB2安裝目錄結構?
用SETUP.EXE來安裝
/SQLLIB 安裝的根目錄,包括README檔案
/SQLLIB/ADSM 包含ADSTAR分散式儲存管理器檔案
/SQLLIB/BIN 包含DB2工具的可執行檔案
/SQLLIB/BND 包含DB2工具的繫結檔案
/SQLLIB/CC 包含執行控制中心所需的檔案
/SQLLIB/CFG 包含預設的系統配置檔案
/SQLLIB/CONV 包含內碼表轉換表檔案
/SQLLIB/DB2 預設的例項目錄
/SQLLIB/DB2DAS00 預設的DB2管理伺服器目錄
/SQLLIB/DOC 包含DB2聯機手冊
/SQLLIB/FUNCTION 預設的使用者自定義函式目錄
/SQLLIB/FUNCTION/UNFENCED 預設的非隔離使用者自定義函授目錄
/SQLLIB/HELP 聯機幫助檔案
/SQLLIB/JAVA DB2所需的JAVA類庫
JAVA12 包含JDK1.2的支援程式
/SQLLIB/MISC 包含HTML搜尋伺服器檔案
/SQLLIB/MSG/PRIME 包含資訊檔案
/SQLLIB/QP 包含QUERY PATROLLER的客戶端檔案
/SQLLIB/SAMPLES 包含樣例程式和樣例指令碼
/SQLLIB/SPMLOG 包含DB2同步點管理器日誌檔案
/SQLLIB/THNSETUP 包含瘦客戶端安裝檔案
9. UNIX和LINUX環境下的DB2安裝目錄結構?
用DB2SETUP.EXE來安裝
安裝的根目錄下還將建立以下目錄:
README 安裝的根目錄,包括README檔案
ADM 包含系統管理工具檔案
ADSM 包含ADSTAR分散式儲存管理器檔案
BIN 包含DB2工具的二進位制可執行檔案
BND 包含DB2工具的繫結檔案
CC 包含執行控制中心所需的檔案
CFG 包含預設的系統配置檔案
CONV 包含內碼表轉換表檔案
DOC 包含DB2聯機手冊
FUNCTION 預設的使用者自定義函式目錄
FUNCTION/UNFENCED 預設的非隔離使用者自定義函授目錄
INSTALL 包含安裝程式
INSTANCE 包含例項指令碼
JAVA DB2所需的JAVA類庫
LIB DB2庫檔案
MAP 包含DB2 CONNECT使用的對映檔案
MISC 包含HTML搜尋伺服器檔案
SAMPLES 包含樣例程式和樣例指令碼
MSG/$L 包含DB2資訊檔案
10. AIX下用哪個命令來安裝DB2?
INSTALLP命令
11. 同一作業系統下可以安裝多個DB2 資料庫?
可以的
12. 如何停止例項?
DB2STOP
DB2STOP FORCE (強制停止)
13. 如何啟動例項?
DB2START
14. 如何修改註冊項的值?
DB2SET可以修改
如:
設定當前例項的一個引數
DB2SET PARAMETER=VALUE
設定一個全域性級的引數
DB2SET PARAMETER=VALUE -G (小寫)
檢視能在配置檔案登錄檔中設定的所有變數的列表
DB2SET -LR (小寫)
15. 如何在CLP執行作業系統的命令?
在命令前加" ! "作為字首
DB2=> !DIR C:/
16. 在CLP中命令過長怎麼辦?
用 " / " 作為續行符號
17. 如何獲得DB2的命令的語法相關資訊?
DB2 ? 顯示所有DB2命令
DB2 ? COMMAND 顯示命令資訊
DB2 ? SQLnnnn 顯示這個SQLCODE的解釋資訊
DB2 ? DB2nnnn 顯示這個DB2錯誤的解釋資訊
18. 如何檢視當前CLP的設定?
DB2=>LIST COMAND OPTIONS
19. 如何更新當前CLP會話的特定項設定?
DB2 UPDATE COMMAND OPTIONS USING OPTIONS ...
20. COMMAND WINDOWS可以通過哪個命令呼叫?
DB2CMD命令
21. 管理伺服器的預設名為?
UNIX下為DB2AS
WINDOWS下為DB2DAS00
22. 常用管理DB2伺服器例項的命令?
DB2ADMIN START 啟動DB2管理伺服器例項
DB2ADMIN STOP 停止DB2管理伺服器例項
DASICRT UNIX下建立DB2管理伺服器例項
DASIDROP UNIX下刪除DB2管理伺服器例項
DB2ADMIN CREATE WINDOWS OR OS/2下建立DB2管理伺服器例項
DB2ADMIN DROP WINDOWS OR OS/2下刪除DB2管理伺服器例項
DB2 GET ADMIN CFG 顯示DB2管理伺服器的配置引數
DB2 UPDATE ADMIN CFG 修改DB2管理伺服器的配置引數
DB2 RESET ADMIN CFG 將DB2管理伺服器的配置引數設為預設值
23. DB2目錄分為哪幾種?
系統資料庫目錄
本地資料庫目錄
節點目錄
DCS目錄
管理節點目錄
24. 如何檢視系統資料庫目錄?
LIST DB DIRECTORY
25. 如何檢視資料庫伺服器目錄?
LIST NODE DIRECTORY
26. DB2例項的伺服器的預設埠是?
50000
伺服器名稱為DB2CDB2
27. DB2 UDB伺服器端的認證型別有?
SERVER
SERVER_ENCRYPT
CLIENT
DCE
DCE_SERVER_ENCRYPT
KERBEROS
KRB_SERVER_ENCRYPT
28. DB2客戶端的認證型別有?
SERVER
SERVER_ENCRYPT
DCS
DCS_ENCRYPT
CLIENT
DCE
29. DB2中有哪幾種型別的許可權?
SYSADM 系統管理許可權
SYSCTRL 系統控制許可權
SYSMAINT 系統維護許可權
DBADM 資料庫管理許可權
LOAD 對錶進行LOAD操作的許可權
30. 不能通過GRANT授權的許可權有哪種?
SYSAM
SYSCTRL
SYSMAINT
要更該上述許可權必須修改資料庫管理器配置引數
31. 表的型別有哪些?
永久表(基表)
臨時表(說明表)
臨時表(派生表)
32. 如何知道一個使用者有多少表?
SELECT * FROM SYSIBM.SYSTABLES WHERE CREATOR='USER'
33. 如何知道使用者下的函式?
select * from IWH.USERFUNCTION
select * from sysibm.SYSFUNCTIONS
34. 如何知道使用者下的VIEW 數?
select * from sysibm.sysviews WHERE CREATOR='USER'
35. 如何知道當前DB2的版本?
select * from sysibm.sysversions
db2level
36. 如何知道使用者下的TRIGGER 數?
select * from sysibm.SYSTRIGGERS WHERE SCHEMA='USER'
37. 如何知道TABLESPACE的狀況?
select * from sysibm.SYSTABLESPACES
38. 如何知道SEQUENCE的狀況?
select * from sysibm.SYSSEQUENCES
39. 如何知道SCHEMA的狀況?
select * from sysibm.SYSSCHEMATA
db2 "select name from sysibm.sysschemata" 查詢當前資料庫中所有的schema
40. 如何知道INDEX的狀況?
select * from sysibm.SYSINDEXES
41. 如何知道表的欄位的狀況?
select * from sysibm.SYSCOLUMNS WHERE TBNAME='AAAA'
decribe table <tablename>
42. 如何知道DB2的資料型別?
select * from sysibm.SYSDATATYPES
43. 如何知道BUFFERPOOLS狀況?
select * from sysibm.SYSBUFFERPOOLS
44. DB2表的欄位的修改限制?
只能修改VARCHAR2型別的並且只能增加不能減少.
45. 如何檢視錶的結構?
DESCRIBLE TABLE TABLE_NAME
OR
DESCRIBLE SELECT * FROM SCHEMA.TABLE_NAME
46. 如何快速清除一個大表?
ALTER TABLE TABLE_NAME ACTIVE NOT LOGGED INITALLY WITH EMPTY TABLE
47. 如何檢視資料庫的包?
select * from sysCAT.PACKAGES
48. 如何檢視資料庫的儲存過程?
SELECT * FROM SYSCAT.PROCEDURES
49. 如何檢視錶的約束?
SELECT * FROM SYSCAT.CHECKS WHERE TABNAME='AAAA'
50. 如何檢視錶的引用完整約束?
SELECT * FROM SYSCAT.REFERENCES WHERE TABNAME='AAAA'
51. 安裝DB2預設的事例名稱是?
在WINDOWS或OS/2中預設的是DB2
在LINUX或UNIX環境下預設的是DB2INST1
52. 安裝後的預設帳戶是?
在WINDOWS或OS/2中預設的是DB2ADMIN
在LINUX或UNIX環境下預設的是DB2AS
53. 事例的型別有哪些?
CLIENT(客戶)
STANDALONE(獨立的)
SATELLITE(衛星)
EE DB2
EEE
54. 如何建立事例?
DB2ICRT INSTNAME <...PARAMETERS>
55. 如何列出系統上的所有可用事例?
DB2ILIST
56. 如何知道當前對話用的是哪個事例?
GET INSTANCE
57. 如何更新事例的配置?
DB2IUPDT <INST NAME><PARAMETER OPTIONS...>
58. 如何刪除事例?
DB2IDROP INSTANCE_NAME
具體步驟如下:
停止事例上所有應用程式
在所有開啟的命令列上執行DB2 TERMINATE
執行DB2STOP
備份DB2INSTPROF註冊變數指出的事例目錄
退出事例所有登陸者
使用DB2IDROP
也可以刪除ID
59. 如何列出本地系統上有許可資訊的所有產品?
DB2LICM -L
60. 如何增加一產品許可?
DB2LICM -A FILENAME
61. 如何刪除一個產品的許可?
DB2LICM -R PRODUCT PASSWORD
62. 如何更新已購買的許可數量?
DB2LICM -U <PRODUCT PASSWORD> <NUMBER OF USERS>
63. 如何強制只使用已經購買的數量?
DB2LICM -E HARD
64. 如何更新系統上所使用的許可政策型別?
DB2LICM -P <PRODUCT PASSWORD> REGISTERED CONCURRENT
65. 如何更新系統上的處理器的數量?
DB2LICM -N <PRODUCT PASSWORD> <NUMBER OF PROCESSORS>
66. 如何查詢許可檔案記錄的版本資訊?
DB2LICM -V
67. 如何查詢DB2LICM的幫助資訊?
DB2LICM -H
68. 一個資料庫至少包括哪些表空間?
一個目錄表空間
一個或多個使用者表空間
一個或多個臨時表空間
69. 根據資料與儲存空間之間移動的控制方式不同,分哪兩種表空間?
系統管理的空間(SMS)
資料庫管理的空間(DMS)
70. 如何列出系統資料庫目錄的內容?
LIST DATABASE DIRECTORY
71. CREATE DATABASE 是SQL命令嗎?
不是, 是系統命令
72. 如何檢視資料庫ABC的配置檔案的內容?
GET DATABASE CONFIGURATION FOR ABC
73. 如何將資料庫ABC的引數設定為預設數值?
RESET DATABASE CONFIGURATION FOR ABC
74. 如何修改資料庫ABC配置引數數值?
UPDATE DATABASE CONFIGURATION FOR ABC
USING <PARAMETER NAME> <NEW VALUE>
75. 如何重新啟動資料庫?
RESTART DATABASE DATABASE_NAME
76. 如何啟用資料庫?
ACTIVATE DATABASE DATABASE_NAME
77. 如何停止資料庫?
DEACTIVATE DATABASE DATABASE_NAME
78. 如何刪除資料庫?
DROP DATABASE DATABASE_NAME
79. 如何建立模式?
CREATE SCHEMA SCHEMA_NAME
80. 如何設定模式?
SET SCHEMA=SCHEMA_NAME
81. 表的型別有哪些?
基本表
結果表
概要表
型別表
子型別
子表
宣告的臨時表
系統臨時表
82. 如何定義序列?
CREATE SEQUENCE ORDERSEQ START WITH 1 INCREMENT BY 1 NOMAXVALUE NOCYCLE CACHE 24
83. 如何將表置於檢查掛起狀態?
SET INTEGRITY TABLE_NAME OFF
84. 如何獲得表的排斥鎖?
LOCK TABLE TABLE_NAME IN EXCLUSIVE MODE
85. 如何把表調整為沒有檢查資料的線上狀態?
SET INTEGRITY FOR TABLE_NAME ALL IMMEDIATE UNCHECKED
86. 如何解除表的鎖定?
COMMIT
87. 如何關閉表的日誌?
ALTER TABLE TABLE_NAME ACTIVE NOT LOGGED INIALLY
88. 如何刪除表?
DROP SCHEMA.TABLE_NAME
89. 如何重新命名錶?
RENAME TABLE_OLD TO TABLE_NEW
90. 如何取當前時間?
SELECT CURRENT TIMESTAMP FROM SYSIBM.SYSDUMMY1
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
DB2函式
135. AVG()
返回一組數值的平均值.
SELECT AVG(SALARY) FROM BSEMPMS;
136. CORR(),CORRELATION()
返回一對數值的關繫系數.
SELECT CORRELATION(SALARY,BONUS) FROM BSEMPMS;
137. COUNT()
返回一組行或值的個數.
SELECT COUNT(*) FROM BSEMPMS;
138. COVAR(),COVARIANCE()
返回一對數值的協方差.
SELECT COVAR(SALARY,BONUS) FROM BSEMPMS;
139. MAX()
返回一組數值中的最大值.
SELECT MAX(SALARY) FROM BSEMPMS;
140. MIN()
返回一組數值中的最小值.
SELECT MIN(SALARY) FROM BSEMPMS;
141. STDDEV()
返回一組數值的標準偏差.
SELECT STDDEV(SALARY) FROM BSEMPMS;
142. SUM()
返回一組資料的和.
SELECT SUM(SALARY) FROM BSEMPMS;
143. VAR(),VARIANCE()
返回一組數值的方差.
SELECT VARIANCE(SALARY) FROM BSEMPMS;
144. ABS(),ABSVAL()
返回引數的絕對值.
SELECT ABS(-3.4) FROM BSEMPMS;
145. ACOS()
返回引數的反餘弦值.
SELECT ACOS(0.9) FROM BSEMPMS;
146. ASCII()
返回整數引數最左邊的字元的ASCII碼.
SELECT ASCII('R') FROM BSEMPMS;
147. ASIN()
返回用弧度表示的角度的引數的反正弦函式.
SELECT ASIN(0.9) FROM BSEMPMS;
148. ATAN()
返回引數的反正切值,該引數用弧度表示的角度的引數.
SELECT ATAN(0.9) FROM BSEMPMS;
149. ATAN2()
返回用弧度表示的角度的X和Y坐標的反正切值.
SELECT ATAN2(0.5,0.9) FROM BSEMPMS;
150. BIGINT()
返回整型常量中的數字或字串的64位整數表示.
SELECT BIGINT(EMP_NO) FROM BSEMPMS;
151. CEILING() OR CEIL()
返回比引數大或等於引數的最小的整數值.
SELECT CEILING(3.56) FROM BSEMPMS;
SELECT CEIL(4.67) FROM BSEMPMS;
152. CHAR()
返回日期時間型,字串,整數,十進位制或雙精度浮點數的字串表示.
SELECT CHAR(SALARY,',') FROM BSEMPMS;
153. CHR()
返回具有由引數指定的ASCII碼的字元.
SELECT CHAR(167) FROM BSEMPMS;
154. CONCAT()
返回兩個字串的連線.
SELECT CONCAT(EMP_NO,EMP_NAM) FROM BSEMPMS;
155. YEAR()
返回數值的年部分.
SELECT YEAR('2003/01/02') FROM BSEMPMS;
156. VARCHAR()
返回字串,日期型,圖形串的可變長度的字串表示.
SELECT VARCHAR(EMP_NAM,50) FROM BSEMPMS;
157. UCASE() OR UPPER()
返回字串的大寫.
SELECT UCASE(EMP_NAM) FROM BSEMPMS;
SELECT UPPER(EMP_NO) FROM BSEMPMS;
158. TRUNCATE() OR TRUNC()
從表示式小數點右邊的位置開始截斷並返回該數值.
SELECT TRUNCATE(345.6789,2) FROM BSEMPMS;
159. TIME()
返回一個數值中的時間.
SELECT TIME('2001-03-19.12.30.123456') FROM BSEMPMS;
160. SUBSTR(EXP1,EXP2)
返回EXP1串自EXP2處開始的子串.
SELECT SUBSTR('CDNJFDJFJD',5) FROM BSEMPMS;
SELECT SUBSTR('CDNJFDJFJD',5,2) FROM BSEMPMS;
161. SQRT()
返回該引數的平方根.
SELECT SQRT(36) FROM BSEMPMS;
162. SPACE()
返回由引數指定的長度,包含空格在內的字串.
SELECT SPACE(10) FROM BSEMPMS;
163. SECOND()
返回一個數值的秒部分.
SELECT SECOND('18:34:32') FROM BSEMPMS;
164. RTRIM()
刪除字串尾部的空格.
SELECT RTRIM('COMMENT ') FROM BSEMPMS;
165. ROUND(EXP1,EXP2)
返回EXP1小數點右邊的第EXP2位置處開始的四捨五入值.
SELECT ROUND(2345.6789,2) FROM BSEMPMS;
166. REPLACE(EXP1,EXP2,EXP3)
用EXP3替代EXP1中所有的EXP2
SELECT CHAR(REPLACE('ROMANDD','NDD','CCB'),10) FROM BSEMPMS;
167. REPEAT(EXP1,EXP2)
返回EXP1重複EXP2次後的字串.
SELECT CHAR(REPEAT('REPEAT',3),21) FROM BSEMPMS;
168. REAL()
返回一個數值的單精度浮點數表示.
SELECT REAL(10) FROM BSEMPMS;
169. RAND()
返回0和1之間的隨機浮點數.
SELECT RAND() FROM BSEMPMS;
170. POWER(EXP1,EXP2)
返回EXP1的EXP2次冪.
SELECT POWER(2,5) FROM BSEMPMS;
171. POSSTR(EXP1,EXP2)
返回EXP2在EXP1中的位置.
SELECT ('ABCDEFGH','D') FROM BSEMPMS;
172. NULLIF(EXP1,EXP2)
如果EXP1=EXP2,則為NULL,否則為EXP1
173. NODENUMBER()
返回行的分割槽號.
SELECT NODENUMBER(EMP_NO) FROM BSEMPMS;
174. MONTH()
返回一個數值的月部分.
SELECT MONTH('2003/10/20') FROM BSEMPMS;
175. MOD(EXP1,EXP2)
返回EXP1除以EXP2的餘數.
SELECT MOD(20,8) FROM BSEMPMS;
176. MINUTE()
返回一個數值的分鐘部分.
SELECT MINUTE('18:34:23') FROM BSEMPMS;
177. LTRIM()
刪除字串前面的空格.
SELECT LTRIM(' CDDD') FROM BSEMPMS;
178. HOUR()
返回一個數值的小時部分.
SELECT HOUR('18:34:23') FROM BSEMPMS;
179. DOUBLE()
如果引數是一個數字表示式,返回與其相對應的浮點數,如果引數是字串表示式,則返回該數的字串表示式.
SELECT DOUBLE('5678') FROM BSEMPMS;
180. EXP()
返回引數的指數函式.
SELECT EXP(2) FROM BSEMPMS;
181. FLOAT()
返回一個數的浮點表示.
SELECT FLOAT(789) FROM BSEMPMS;
182. FLOOR()
返回小於或等於引數的最大整數.
SELECT FLOOR(88.93) FROM BSEMPMS;
183. HEX()
返回一個表示為字串的值的16進製表示.
SELECT HEX(16) FROM BSEMPMS;
待續...
相關文章
- DB2常用傻瓜問題1000問(之一) (轉)DB2
- DB2常用傻瓜問題1000問(之二) (轉)DB2
- DB2常用傻瓜問題1000問(之三) (轉)DB2
- Oracle常用傻瓜問題1000問Oracle
- ORACLE常用傻瓜問題1000問(之三)(轉)Oracle
- ORACLE常用傻瓜問題1000問(之四)(轉)Oracle
- ORACLE常用傻瓜問題1000問(之五)(轉)Oracle
- ORACLE常用傻瓜問題1000問(之七)(轉)Oracle
- ORACLE常用傻瓜問題1000問(之六)(轉)Oracle
- ORACLE常用傻瓜問題1000問(之八)(轉)Oracle
- ORACLE常用傻瓜問題1000問(之九)(轉)Oracle
- ORACLE常用傻瓜問題1000問(之十)(轉)Oracle
- ORACLE常用傻瓜問題1000問(之十一)(轉)Oracle
- ORACLE常用傻瓜問題1000問(之十二)(轉)Oracle
- ORACLE常用傻瓜問題1000問(之八) (轉)Oracle
- ORACLE常用傻瓜問題1000問(之五) (轉)Oracle
- ORACLE常用傻瓜問題1000問(之十二) (轉)Oracle
- ORACLE常用傻瓜問題1000問(之十一) (轉)Oracle
- ORACLE常用傻瓜問題1000問(之十) (轉)Oracle
- ORACLE常用傻瓜問題1000問(之九) (轉)Oracle
- ORACLE常用傻瓜問題1000問之七 (轉)Oracle
- ORACLE常用傻瓜問題1000問(之四) (轉)Oracle
- ORACLE常用傻瓜問題1000問(之三) (轉)Oracle
- ORACLE常用傻瓜問題1000問(之一) (轉)Oracle
- DB2傻瓜1000問(二)DB2
- DB2傻瓜1000問(一)DB2
- DB2傻瓜1000問(三)DB2例項部分DB2
- DB2傻瓜1000問(一)DB2簡介、版本部分DB2
- ORACLE傻瓜問題1000問連載(之一)(轉)Oracle
- DB2傻瓜1000問(九)9、DB2資料的匯出DB2
- DB2傻瓜1000問(五) 5、DB2資料型別部分DB2資料型別
- DB2傻瓜1000問(六)6、DB2資料庫物件部分DB2資料庫物件
- DB2傻瓜1000問(十)10、DB2資料庫監控部分DB2資料庫
- DB2傻瓜1000問(七)、DB2資料庫安全部分DB2資料庫
- DB2傻瓜1000問(二)DB2資料庫的安裝部分DB2資料庫
- DB2傻瓜1000問(八)8、DB2資料庫程式設計部分DB2資料庫程式設計
- DB2傻瓜1000問(十一)11、DB2資料移動實用程式DB2
- DB2傻瓜1000問(十二)12、DB2資料庫的備份和恢復DB2資料庫