程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> DB2數據庫 >> DB2教程 >> DB2數據庫創建觸發器的實現過程

DB2數據庫創建觸發器的實現過程

編輯:DB2教程

DB2數據庫操作中,我們常常會使用到觸發器,這對於我們初學者來說似乎有一點點的難度。不過沒關系,本文我們就介紹了一些DB2數據庫觸發器方面的一些知識,並給出了一個創建觸發器的實例,對於初學者來說,如果您不太懂,也可以直接套用下面的實例來完成觸發器的創建。接下來就讓我們一起來了解一下這部分內容。

建一個觸發器,應包含以下部分:

觸發器名字:……

觸發器觸發事件:insert,delete,update

激活時間:before,after

粒度:for each statement,for each row

過渡變量:

old row:表示觸發事件之前被修改的值:

new row表示觸發事件之後被修改的值

old table表示觸發事件之前全部被修改行的一個只讀假想表

new table表示觸發事件之後全部被修改行的一個假想表

觸發條件:由WHEN開始,可包含一個或多個謂詞,可包含過渡變量和子查詢。

觸發體:由一個或多個SQL語句組成。

創建DB2觸發器的一個實例:

  1. CREATE TRIGGER REORDER  
  2.  
  3. AFTER UPDATE OF ON_HAND, MAX_STOCKED ON PARTS  
  4.  
  5. REFERENCING NEW AS N_ROW  
  6.  
  7. FOR EACH ROW MODE DB2SQL  
  8.  
  9. WHEN (N_ROW.ON_HAND < 0.10 * N_ROW.MAX_STOCKED  
  10.  
  11. AND N_ROW.ORDER_PENDING = 'N')  
  12.  
  13. BEGIN ATOMIC  
  14.  
  15. VALUES(ISSUE_SHIP_REQUEST(N_ROW.MAX_STOCKED -  
  16.  
  17. N_ROW.ON_HAND,  
  18.  
  19. N_ROW.PARTNO));  
  20.  
  21. UPDATE PARTS SET PARTS.ORDER_PENDING = 'Y' 
  22.  
  23. WHERE PARTS.PARTNO = N_ROW.PARTNO;  
  24.  
  25. END 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved