2012-03-25 78 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