我有一个名为'lms'的数据库,有两个表贷款和价值,表贷款有:loan_amount,annual_intrest,贷款类型;表值具有value_id,value_name,value_amount。 我想要的是我的触发器使用来自另一个表值的利率(value_amount)来计算贷款表中的年利息,其中loan_type(来自贷款表)等于值(来自Value表) 我试过这个,需要一些帮助
-- Trigger DDL Statements
DELIMITER $$
USE `lms`$$
CREATE
DEFINER=`root`@`localhost`
TRIGGER `lms`.`updateloan`
BEFORE INSERT ON `lms`.`loan` INNER JOIN 'lms'.'value'
FOR EACH ROW
BEGIN
l.loan_type ="Computer Loan"
SET l.yearly_intrest = (l.loan_amount *(v.value_amount/100))
WHERE l.loan_type=v.value_name;
END$$
表值包含两个value_names计算机和机动车,其值为2,5
我希望我的解释足够清楚
答案 0 :(得分:1)
我没有尝试过,但它应该有用 -
DELIMITER $$
USE `lms`$$
CREATE
DEFINER=`root`@`localhost`
TRIGGER `lms`.`updateloan`
BEFORE INSERT ON `lms`.`loan`
FOR EACH ROW BEGIN
SET NEW.yearly_interest = (SELECT NEW.loan_amount * value_amount/100 FROM `lms`.`value` WHERE value_name = NEW.loan_type);
END$$