使用触发器更新表时遇到问题

Posted

技术标签:

【中文标题】使用触发器更新表时遇到问题【英文标题】:I'm having issue when updating table using triggers 【发布时间】:2019-05-04 09:25:23 【问题描述】:

我正在使用触发器从销售值更新 monthly_sales

这里是触发器的代码

Update monthly_sales 
    SET sales =(SELECT SUM(sales.sales) FROM sales group by employee_id) ,
        comission =(SELECT SUM(sales.commsion) FROM sales group by employee_id)
 ;

但这给了我错误

"SQLSTATE[21000]: 基数违规:1242 子查询返回更多 超过 1 行”。

谁能建议编写此查询的正确方法是什么?

【问题讨论】:

在触发器中,我希望看到对 NEW 的引用。和/或旧的。值。 【参考方案1】:

避免分组

Update monthly_sales 
    SET sales =(SELECT SUM(sales.sales) FROM sales) ,
        comission =(SELECT SUM(sales.commsion) FROM sales);

【讨论】:

以上是关于使用触发器更新表时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章

创建 SQL 触发器以更新另一个表时出错

更新底层 SQL 表时如何在 Access 中触发 VBA 代码?

sqoop - 导入表时遇到问题

SQL Server实时同步更新远程数据库遇到的问题

MySQL 初学MySQL创建表时遇到一些问题,可能是关于数据类型的

将数据插入另一个表时触发以更新带有时间戳的表