插入触发器 SQL。插入新表后如何从另一个表中检索值
Posted
技术标签:
【中文标题】插入触发器 SQL。插入新表后如何从另一个表中检索值【英文标题】:INSERT TRIGGERS SQL. How to retrieve value from another table after insert in new table 【发布时间】:2018-07-25 23:10:33 【问题描述】:我是 SQL 触发器的新手。我目前被以下问题困扰。
我有 3 个表格 -
订单
orderid int(11) AI PK 订购日期 日期 总计十进制(8,2)
产品
productid int(11) AI PK 产品名称 varchar(50) 单位 varchar(10) 价格十进制(8,2)
订单详情
orderid int(11) productid int(11) 价格小数(8,2)
我在 orders 和 products 表中都有记录。 orderdetails 表为空,没有记录。
我想在 orderdetails 上创建一个插入触发器,以自动从 products 表中检索价格并将其更新到 orderdetails 表中插入类似的查询;
(例如 INSERT INTO orderdetails(orderid,productid) values(1,1))到 orderdetails 表中。
任何帮助将不胜感激。
【问题讨论】:
【参考方案1】:我手头没有 mysql,但这应该可以工作:
CREATE TRIGGER ins_price BEFORE INSERT ON orderdetails
FOR EACH ROW
BEGIN
SET new.price= (select price from products where productid = new.productid);
END;//
【讨论】:
以上是关于插入触发器 SQL。插入新表后如何从另一个表中检索值的主要内容,如果未能解决你的问题,请参考以下文章
sql中往一个表中插入数据但是其中一列需要从另一张表查状态,求指导