【发布时间】:2018-03-26 23:30:58
【问题描述】:
在插入前触发器上,我想计算值 基于插入记录中的两个列的列 以及链接到正在更新的表的其他表中的列的值
对此进行测试,我刚刚创建了代码来访问其中一个 链上另一个表中的文件。但是在执行时我 出错了
CREATE DEFINER = CURRENT_USER TRIGGER `infrastructure`.`Wall_Drop_BEFORE_INSERT` BEFORE INSERT ON `Wall_Drop` FOR EACH ROW
BEGIN
Declare wall_temp decimal(6,2) default null;
Declare room_temp decimal (8,2) default null;
select r.dist_wire_closet into room_temp from rooms as r
where r.Residence_residence_id = new.Wall_rooms_Residence_residence_id
and r.Residence_residence_id = new.Wall_rooms_Residence_residence_id;
END
【问题讨论】:
-
错误似乎很明显,不止一行与
WHERE条件匹配,但您只能使用SELECT INTO variable与单个结果。 -
AND中的两个测试是相同的。为什么同一件事要做两次? -
如果有多个房间有相同的
Residence_residence_id,应该使用哪个房间?