触发器是事件驱动的数据库程序,由数据库自动触发。触发器使用 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将…… 阅读更多