首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> DB2 資料庫 >> DB2 教學

使用 IBM DB2 必須掌握的 8 大關鍵知識點與實務陷阱

     編輯:DB2 教學

工具操作與介面限制

  1. 連線配置:資料庫伺服器非本機時,須在「用戶端配置助手」建立連線配置
  2. 控制中心限制:無法直接增刪改資料,僅能執行 SQL;Quest 工具雖可增資料但不支援複製貼上/Tab 鍵,需逐筆輸入;PB 雖支援儲存格編輯但刪除表按鈕相鄰且無提示,誤觸即刪表

SQL 語法特殊限制

  1. 視圖不可直接 ORDER BY:需用子查詢包裝
    SELECT * FROM (SELECT a,b,c FROM table1 ORDER BY a) AS tab
    
    前提:已套用相關修補程式

儲存程序與函數開發陷阱

  1. 字串處理:僅有 LTRIM/RTRIM,無 TRIM,去除雙邊空格需 LTRIM(RTRIM())
  2. INSERT 不支援運算式賦值:必須先賦值給變數
  3. 呼叫其他儲存程序:參數不能用常數,必須先賦值給變數
  4. FETCH FIRST n ROWS ONLY:儲存程序中不可用
  5. 動態 SQL:儲存程序可用,函數不可用

交易與游標行為

  1. COMMIT/ROLLBACK 自動關閉游標:需謹慎使用單獨提交
  2. Proc Builder 除錯不穩:記憶體不足易花屏,斷點停留稍久即逾時

日期運算陷阱

  1. 月末日期 ± MONTH 錯誤:2004-02-29 + 1 MONTH 會報 SQLSTATE 01506(日期調整修正無效日期)
    替代方案:取當月第一天為基準再 ± MONTH

變數賦值語法規範

  1. 不可用 SELECT ... INTO,必須用 SET var = (SELECT ...) 方式

SET V_SELL_ID = (SELECT COALESCE(RECEIVE_ID,-1) FROM IS_ORDER WHERE ROW_ID=IN_ROW_ID);
SET V_BUY_ID = (SELECT COALESCE(PAY_ID,-1) FROM IS_ORDER WHERE ROW_ID=IN_ROW_ID);
SET V_SUBMIT_DATE = (SELECT DATE(MAX(A.SUBMIT_DATE)) FROM ...);

密碼修改操作補充

修改 DB2 管理員 (Administrator) 密碼步驟:

  1. 修改系統 Administrator 登入密碼
  2. 服務管理工具 → DB2 服務屬性 → 登入分頁 → 更新密碼欄位

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved