程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> IBM DB2數據庫新手必看的基礎知識有哪些?

IBM DB2數據庫新手必看的基礎知識有哪些?

編輯:DB2教程

以下的文章主要描述的是IBM DB2數據庫新手必看的基本知識,下面就是對IBM DB2數據庫新手必看的基本知識的描述,希望在你今後的學習中會有所幫助。以下就是文章的主要內容的詳細描述,望大家在浏覽之後會對其有更深的了解。

使用IBM DB2數據庫時必須了解的幾個知識點:

1.在安裝DB2數據庫後,你可以通過命令行方式或圖形界面方式來操作,假如你的數據庫服務端不在本機,則需要在“客戶機配置輔助程序”中做一個客戶端連接的配置。

2.控制中心中無法增刪改數據,只能編寫sql語句來實現而quest提供的工具雖然能增加數據,但居然無法用復制、粘貼和Tab鍵,必須逐個輸入,然後用鼠標點擊切換現存數據看來可以在單元格中編輯修改,但實際卻無法commit,呵呵,還是老老實實寫update語句,至於刪除數據,更是非寫delete語句不可。

不過可以用pb以單元格方式編輯數據,相應的一個缺點是編輯數據的按鈕和刪除表的按鈕太近,萬一點錯了刪除表的按鈕,pb可是不作提示就把表給刪了的,faint

3.DB2的視圖裡不能直接用order by語句,必須這樣寫:

  1. select × fromselect a,b,c from table1 order by a)as tab 

注釋:這種寫法的前提是你已經打過補丁了

4.存儲過程的問題:

DB2提供ltrim函數和rtrim函數,但偏偏不提供trim函數,如果你希望去除字符兩端的空格,對不起,必須用ltrimrtrim)) 的方式調用insert 語句裡面居然不能用表達式賦值,必須把值先賦給一個變量調用其他存儲過程時竟然不能用常量做參數,必須把這個常量的值賦給一個變量,再以這個變量為參數

select * from table fetch first n rows only 語句居然在存儲過程裡不可用

5.存儲過程裡可以使用動態sql,但函數裡卻不可以使用,kao

6. 遇到commit或rollback時自動關閉游標,所以需要慎重使用單獨提交。

proc builder老是在調試中內存不足,屏幕花掉。而如果斷點調試時暫停不進行下去的時間稍微長一點就會提示超時,受不了。

7.開發問題:

在使用 日期變量+1 MONTHS OR 日期變量-1 MONTHS 的方式取日期時,比如日期變量值為 2004-02-29時,存儲過程裡將日期變量+1 MONTHS 賦值給另一

日期變量時會出錯。相應SQLSTATE為01506db2 ? 01506): 對 DATE 或TIMESTAMP值進行了調整,以校正算術運算得出的無效日期。

如果要獲取的只是下一月份,可采用的替代方法是獲取當前日期所在月份的第一天作為基准後+1 MONTHS OR -1 MONTHS

8.對變量的賦值不能用select ……into ……方式而要用set v=select ……)的方式,具體的示例如下:

  1. drop function SXFM.ISORDERSUBMITDATE;  
  2. CREATE FUNCTION SXFM.ISORDERSUBMITDATE(IN_ROW_ID DECIMAL(16,0))  
  3. RETURNS DATE  
  4. LANGUAGE SQL  
  5. BEGIN ATOMIC DECLARE V_SUBMIT_DATE DATE;  
  6. DECLARE V_SELL_ID DECIMAL(16, 0);  
  7. DECLARE V_BUY_ID  
  8. DECIMAL(16, 0);  
  9. set V_SELL_ID = (SELECT COALESCE(RECEIVE_ID,-1) FROM IS_ORDER WHERE ROW_ID=IN_ROW_ID);  
  10. set V_BUY_ID = (SELECT COALESCE(PAY_ID,-1) FROM IS_ORDER WHERE ROW_ID=IN_ROW_ID);  
  11. set V_SUBMIT_DATE = (SELECT DATE(MAX(A.SUBMIT_DATE)) FROM AM_AUDIT_QUEUE A,SM_US  
  12. ER B,SM_USER C  
  13. WHERE A.TABLE_CODE=’IS_ORDER’  
  14. AND A.TABLE_ROW_ID=IN_ROW_ID 
  15. AND A.AUDIT_EMP_ID=C.ROW_ID AND C.BRANCH_ID=V_BUY_ID --審核方為付款方 AND A.SUBMIT_EMP_ID=B.ROW_ID AND B.BRANCH_ID=V_SELL_ID);   

提交方為收款方

  1. RETURN V_SUBMIT_DATE;  
  2. END;  
  3. #SYNC 10;  

以上的相關內容就是對IBM DB2新手必看的基本知識點的介紹,望你能有所收獲。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved