我一直在不遗余力地尝试使触发器起作用,它具有许多不同的变化,并且都以错误结尾。

我终于决定寻求帮助,因为我仍然是一个初学者。

假设我有一个多对多表,其中包含o.orderId和p.productId的pk,在此表中,我有两列,分别称为amount和totalPrice

然后,我创建了一个函数,该函数根据产品的productiD返回产品的价格。

CREATE FUNCTION func_getProductPrice($pId varchar(45)) RETURNS int(11)

DETERMINISTIC

BEGIN

DECLARE origPrice int(11);

SET origPrice = (select o.productPrice from (productId_has_orderId

inner join productId on productId = $pId);

RETURN origPrice;

END

还有一个插入前触发器,该触发器用于调用此函数以获取价格,根据新条目乘以返回值,然后更新此新条目的价格字段。

delimiter |

CREATE TRIGGER `vet`.`calcProdutctPrice` before INSERT ON `productId_has_orderId`

FOR EACH ROW

IF NEW.amount <> 1 THEN

BEGIN

DECLARE newPrice int(11);

set newPrice = ((SELECT SUM((new.amount) * (select func_getProductprice(new.p.productId))) AS total from productId_has_orderId));

begin

update productId_has_orderId

set price = newPrice

where orderId = new.orderId;

end;

END;

end if

|

delimiter ;

插入数据时会出现此错误

不能更新存储函数/触发器中的表“ productId_has_orderId”,因为调用该存储函数/触发器的语句已使用该表

触发器的另一个变体,基本上是相同的,但是价格不是声明的变量,而是只是更新为新价格

delimiter |

CREATE TRIGGER `vet`.`calcProdutctPrice` before INSERT ON `productId_has_orderId`

FOR EACH ROW

IF NEW.amount <> 1 THEN

BEGIN

update productId_has_orderId

set price = ((SELECT SUM((new.amount) * (select func_getProductprice(new.p.productId))) AS total from productId_has_orderId));

where orderId = new.orderId;

END;

end if

|

delimiter ;

然后在插入值时会出现此错误

插入productId_has_orderId(orderId,productId,金额)值(5100002,3100002,3)

错误代码:1093。您无法在FROM子句中指定目标表'productId_has_orderId'0.000秒

我不确定现在我还能做什么,我正在考虑创建一个调用存储过程的触发器,但是我不知道是否可以将值从触发器传递给过程。

任何帮助表示赞赏,谢谢

mysql 两个字段相乘_触发将来自不同表的两列与mysql中的函数相乘相关推荐

  1. mysql对比两个字段差异_如何对比两个表字段差异

    做这个项目,以前只在业务表增加字段,而没在其历史表增加对应字段 最近客户需要将业务表和历史表的字段保持一致.于是用这个语句来进行对比即可,如果查出来有数据,则表示有字段差异 --2个表比较 DECLA ...

  2. mysql数据库常用字段类型_快速了解MySQL数据库常用字段类型

    数字列类型 int.bigint.smallint.tinyint 数字列类型用于储存各种数字数据,如价格.年龄或者数量.数字列类型主要分为两种:整数型和浮点型.所有的数字列类型都允许有两个选 项:U ...

  3. mysql数据库回滚日志_超干货!为了让你彻底弄懂 MySQL 事务日志,我通宵搞出了这份图解...

    作者 | Amazing10 责编 | 屠敏 本文为业余码农投稿,已获授权 还记得刚上研究生的时候,导师常挂在嘴边的一句话,"科研的基础不过就是数据而已."如今看来,无论是人文社科 ...

  4. mysql程序员面试题_程序员面试备战篇:18个经典MySQL面试专题解析(干货分享答案)...

    欢迎关注专栏:Java架构技术进阶.里面有大量batj面试题集锦,还有各种技术分享,如有好文章也欢迎投稿哦. 微信公众号:慕容千语的架构笔记.欢迎关注一起进步. 1.数据库三范式是什么? 第一范式(1 ...

  5. mysql命令面板数据更改_宝塔面板数据库自动停止解决办法,宝塔面板MySQL数据库自动重启shell脚本...

    宝塔的数据库经常性自动停止,是因为网站频繁的请求数据库,而服务器内存又不足,为了保证服务器不彻底卡死,保护性的自动停止数据库,特别是有些程序比如wordpress的数据库查询次数尤为突出,wordpr ...

  6. mysql 多久备份一次_教你如何通过一次单击自动备份mysql数据库

    备份mysql一直是很多朋友的头疼,特别是根据时间段备份,今天我将教你如何每天备份一个mysql数据库文件. 1 首先创建一个批处理文件,将以下代码保存为.bat文件,文件名最好是英文.注意以下路径, ...

  7. countif函数比较两列不同_Excel中COUNTIF函数的五种必学使用技巧

    原标题:Excel中COUNTIF函数的五种必学使用技巧 院长大大丨图文 教程基于Excel 2016 提起COUNTIF函数,各位小伙伴都知道它的含义是条件计数.但这个简单的计数函数,却可以引申出很 ...

  8. mysql比较两张表中两个字段值_如何通过SQL找出2个表里值不同的列的方法

    以下有两个表,他们的结构完全相同,请通过SQL找出值不同的列. Student_1 NAME AGE SCORE peter 26 100 jack 25 96 daniel 26 48 bark 2 ...

  9. mysql建索引 字段截取_提高MySQL索引策略一:隔离查询列

    在mysql中执行查询时,如果没有将查询条件(条件列)隔离出来,那么查询引擎则无法利用建立在该列上的索引进行数据获取.这里的"隔离"意味着查询条件字段不能作为表达式的一部分出现,所 ...

最新文章

  1. IoC~MVC3+EF+Autofac实现松耦合的系统架构 [转载]
  2. perl6之'Hello World'
  3. 重新过一遍ASP.NET 2.0(C#)(5) - Localization(本地化,多语言)
  4. 中国内地楼市泡沫严重 租售比1000倍超美国
  5. 递推+矩阵快速幂 HDU 2065
  6. Spring Security OAuth2.0_实现分布式认证授权_微服务解析令牌并鉴权_Spring Security OAuth2.0认证授权---springcloud工作笔记154
  7. NavigationBar的显隐和颜色设置
  8. JDK的环境变量配置(详细步骤)
  9. IE浏览器9.0与王码五笔不兼容的问题
  10. Web前端开发最常见的八种编程软件
  11. c语言 矩阵键盘端口定义,3*5矩阵键盘(IO任意定义)
  12. python如何写日志_python写日志
  13. 电子游戏设计与制作 第一章 计算机游戏概述
  14. 春节期间,怎样晒朋友圈才安全?
  15. GPFS各类排故日志收集汇总
  16. 校园答题网站服务器,校园竞赛答题软件-公园答题软件
  17. 【Mac Technology Overview】(五)Core Services Layer
  18. 《超级符号原理》—超级符号
  19. 小玩意 - Chrome插件——GreenChrome(双击关闭标签,新窗口打开新地址)
  20. kubernetes-scheduler调度

热门文章

  1. SpringBoot项目中华为云 内容审核的使用(内附代码)
  2. https://ipcrs.pbccrc.org.cn/
  3. 已安装各个模块,程序仍报错:ModuleNotFoundError: No module named 'numpy'
  4. 天池比赛——新闻文本分类比赛(零基础入门NLP)
  5. Deployer让部署变得更加的简单
  6. PTA 水题之7-20 镜子碎了
  7. .net服务端渲染_驳:服务端命令 VS 表间公式
  8. 怎么让热图显示基因名_教你画一个掰弯的热图(Heatmap),展示更多的基因表达量...
  9. 【物联网设计记录】基于机智云云平台的Wi-Fi控制开发板
  10. matlab和ansys联合优化,MATLAB与HFSS联合建模与仿真优化详细介绍