使用两张表的mysql触发器
问题描述:
我有一个名为'lms'的数据库,有两张表贷款和值,表贷款有:loan_amount,annual_intrest,贷款类型;表值有value_id,value_name,value_amount。 我想要的是我的触发器使用loan_type(来自贷款表)等于值(来自Value表)的其他表值中的利率(value_amount)计算贷款表的年利率 我试过了这一点,它需要一些帮助使用两张表的mysql触发器
-- 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
我希望我的解释是很清楚
答
我还没有试过,但它应该工作 -
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$$
谢谢你,我会试试看,并让你知道结果 – dames 2012-03-26 01:12:33