2012-03-25 76 views
1

我有一个名为'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

我希望我的解释是很清楚

回答

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$$ 
+0

谢谢你,我会试试看,并让你知道结果 – dames 2012-03-26 01:12:33