首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

MySQL 5.0 觸發器參考教程(上):約定、用途與限制

     編輯:MySQL 資料庫相關知識

程式碼呈現約定

實際代碼以 Courier 字體顯示,區別正文。大型範例加註釋,以 <-- 標示重點。所有範例在 Suse 9.2 + MySQL 5.0.3 測試通過,適用更新版本與 Windows/Sparc/HP-UX。

為什麼需要觸發器

  • 早期用戶長期需求
  • 支援 ANSI 標準特性
  • 檢查/預防壞資料寫入
  • 修改或取消 INSERT/UPDATE/DELETE
  • 監控會話中資料變更

觸發器中可用的語句(繼承自函數/預存程序)

  • 複合語句 BEGIN/END
  • 流程控制:IF, CASE, WHILE, LOOP, REPEAT, LEAVE, ITERATE
  • 變數宣告 DECLARE 與指派 SET
  • 條件宣告、異常處理宣告

觸發器限制(同函數限制)

函數無法存取表,以下語句在觸發器中同樣非法:

ALTER, CACHE INDEX, CALL, COMMIT, CREATE, DELETE,
DROP, FLUSH PRIVILEGES, GRANT, INSERT, KILL,
LOCK, OPTIMIZE, REPAIR, REPLACE, REVOKE,
ROLLBACK, SAVEPOINT, SELECT FROM table,
SET system variable, SET TRANSACTION, SHOW,
START TRANSACTION, TRUNCATE, UPDATE

警告

觸發器較新,可能有 Bug。勿在重要資料庫直接使用,先在測試庫驗證,確認目標資料庫為預設庫再建立觸發器。

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