觸發器是事件驅動的資料庫程式,由資料庫自動觸發。觸發器使用 CREATE TRIGGER 語句建立。例如,我們想要建立一個觸發器,在 ORDERS 表中每次插入新記錄後,將 ORDERS 表的 ORDER_COMMISION 列更新為 ORDER_TOTAL 值的 5%。示例 CREATE TRIGGER ORDERCOMMUPD AFTER INSERT ON ORDERS FOR EACH ROW MODE DB2SQL BEGIN ATOMIC UPDATE ORDERS SET ORDER_COMMISION=(5*ORDER_TOTAL)/100; 使用上述語句,我們建立了一個 AFTER 觸發器,它將在 ORDERS 表中插入任何新行後自動觸發。類似地,我們可以有 BEFORE ... 閱讀更多
我們可以使用下面的查詢在ORDERS DB2表中找到第三高的ORDER_TOTAL。示例SELECT ORDER_ID, MIN(ORDER_TOTAL) FROM ORDERS ORDER BY ORDER_TOTAL DESC FETCH FIRST 3 ROWS ONLY‘FETCH FIRST 3 ROWS ONLY’ 子句將只在輸出中給出3行,這3行將按降序排列。第一行將擁有整個ORDERS表中最高的ORDER_TOTAL,第二行將擁有整個ORDERS表中第二高的ORDER_TOTAL,依此類推。MIN聚合函式將給出這3行中ORDER_TOTAL的最小值,這…… 閱讀更多
問題:編寫DB2 SQL查詢,分別給出7月29日和7月30日訂單的ORDER_TOTAL總和。結果應顯示在一個表中。解決方案我們可以使用聚合函式SUM、GROUP BY和HAVING分別查詢7月29日和7月30日訂單的ORDER_TOTAL總和。例如,如果我們有一個如下所示的ORDER表。ORDER_IDORDER_TOTALORDER_DATEZ2234534229-07-2020Z6299854330-07-2020Z5699043112-07-2020Z56902674329-07-2020Z9978144310-07-2020Z5611288930-07-2020 下面是將給出所需結果的查詢。示例SELECT ORDER_DATE, SUM(ORDER_TOTAL) FROM ORDERS GROUP BY ORDER_DATE HAVING ORDER_DATE IN (‘29-07-2020’, ‘30-07-2020’)在這個查詢中,我們選擇了ORDER_DATE和ORDER_TOTAL以及聚合函式SUM。GROUP BY將…… 閱讀更多