mysql - 使用触发器更新同一个mysql表中的数据
问题描述
我有一个 mysql 表,QuotationPrt。我想创建以下触发器
DECLARE TOTAL FLOAT;
DECLARE QTY FLOAT;
DECLARE UNITCOST FLOAT;
DECLARE OPERATIONCOST FLOAT;
DECLARE TOOLINGCOST FLOAT;
SELECT QUOTATIONPRT.QTY,QUOTATIONPRT.UNITPRICE,QUOTATIONPRT.OPERATIONCOST,QUOTATIONPRT.TOOLINGCOST INTO QTY,UNITCOST,OPERATIONCOST,TOOLINGCOST FROM QUOTATIONPRT WHERE QUOTATIONPRTID=OLD.QUOTATIONPRTID;
SET TOTAL=(QTY*UNITCOST)+OPERATIONCOST+TOOLINGCOST;
UPDATE QUOTATIONPRT SET QUOTATIONPRT.TOTAL=TOTAL WHERE QUOTATIONPRT.QUOTATIONPRTID=OLD.QUOTATIONPRTID;
END
这应该更新 quoteprt 的 TOTAL 列。但是当我尝试更新 quoteprt 表中的数据时,它会给出错误并且数据没有更新。我可能在数据更新后编写了触发器并尝试更新同一个表。
那么有什么方法可以更新 TOTAL 列吗?
解决方案
推荐阅读
- mysql - MySql SELECT 语句,其中 LIKE 不返回结果
- javascript - 我可以在 JS 中使用 order 来查找 HTML 类属性吗?
- javascript - 你在哪里把 facebook 分享 appID 放在 MVC 中?
- vue.js - Vue路由器不遵循子路径
- firebase-remote-config - Firebase RemoteConfig fetch 是否会继续监听更改?
- javascript - TypeError:无法读取 null 的属性“getAttribute”
- jquery - Bootstrap 4 BG 视频到全屏模式
- sql - 找出哪个组 id 包含 SQL 中的所有相关属性
- python - 移动临时文件的 Pythonic 方式
- sql - 同一表的合并语句不插入新行,而是更新 Oracle DB 中的现有行