我有两个表,tablea有一个主键(a\u id)和一个salary列。表b有一个主键(b\u id)和一个paymentamount列。
我需要创建一个触发器,这样一旦插入tableb b\u id,触发器就会转到tablea,找到一个与b\u id匹配的\u id,获取相关列上的薪资,然后除以12,最后将计算结果添加到tableb paymentamount列。
这是我的尝试,但它没有编译;
CREATE TRIGGER test AFTER INSERT ON TableB
FOR EACH ROW
BEGIN
UPDATE TableB
SET TableB.paymentamount = TableA.salary / 12 WHERE TableA.staffid = TableB.staffid
END;
我以前从未使用过触发器,所以如果我走错了方向,我很抱歉。
1条答案
按热度按时间chhqkbe11#
我想这正是你想要的:
简而言之:这是一个
before
用于修改paymentamount
在即将插入的行中。为了得到相关的值,我们查询tablea
为那一排a_id
匹配新插入的b_id
并恢复相应的salary
,我们分配给一个变量。