0
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

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

4

1 回答 1

1

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

...
WHEN EXISTS (SELECT ...)
...
于 2013-12-23T18:24:08.807 回答