You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SAP HANA SQL使用SUM聚合函数报错‘aggregate function not allowed’求解决方案

修正SAP HANA SQL UPDATE语句中的聚合函数错误

错误原因

原UPDATE语句直接在SET子句中使用SUM聚合函数,SAP HANA不允许这种未通过子查询封装的聚合操作,同时原语句的表关联逻辑未明确聚合分组,导致语法校验失败。

修正后的语句

IF :object_type = '13'  AND (:transaction_type='A' or :transaction_type='U')
THEN
BEGIN 
    UPDATE OINV 
    SET "U_TotalDiscountLines" = (
        SELECT SUM("PriceBefDi" - "Price") 
        FROM INV1 
        WHERE INV1."DocEntry" = :list_of_cols_val_tab_del
    )
    WHERE OINV."DocEntry" = :list_of_cols_val_tab_del;
END;
END IF;

说明

  • 通过子查询单独计算当前DocEntry对应的所有行折扣总和,确保聚合逻辑被正确封装
  • 明确OINV表的更新条件,只更新目标单据记录
  • 避免了原语句中不必要的表关联,提升执行效率

内容的提问来源于stack exchange,提问作者Black Star

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 17:30:33