【问题标题】:CREATE TRIGGER AFTER INSERT WHEN (condition) DB2CREATE TRIGGER AFTER INSERT WHEN(条件)DB2
【发布时间】:2013-12-22 21:56:43
【问题描述】:
CREATE TRIGGER hundert        
AFTER INSERT ON Leistung  
FOR EACH ROW MODE       DB2SQL  
WHEN(SELECT modulNR, SUM(Prozentanteil) AS summe    
FROM       Leistung     
GROUP BY modulNr    
HAVING SUM(prozentanteil) > 100) 
BEGIN     ATOMIC 
SIGNAL SQLSTATE '23506'  
SET MESSAGE_TEXT = ('The Sum is       bigger then 100');
END

如果总和大于 100,我想说它必须检查所有“prozentanteil”,如何创建一个 WHEN 语句?

【问题讨论】:

    标签: triggers insert db2 after-effects


    【解决方案1】:

    如果您查看手册中CREATE TRIGGER 语句的语法图,您会发现WHEN 子句需要一个返回布尔值的搜索条件。子选择本身不能返回布尔值。您可能打算在那里使用 EXISTS 谓词:

    ...
    WHEN EXISTS (SELECT ...)
    ...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-02-02
      • 2019-05-27
      • 2014-09-20
      • 2023-03-24
      • 2022-09-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多