2014-06-05 82 views
-1

我有兩個表格Table1:Rates Table2:Books。 我想做一個觸發器,如果​​任何貨幣的匯率變化,書籍表中的所有匯率都必須相應改變。以下是表格的結構:如何在表A中更新MySQL觸發器更新表B中的所有對應值B

----------------------------- 
| Table1 : Rate    | 
----------------------------- 
| id | name | rate | symbol | 
----------------------------- 
| 1 |Dollar|59.26 | $  | 
| 2 |Euro |79.74 | €  | 
| 3 |Pound |98.61 | £  | 
----------------------------- 


-------------------------------------- 
| Table2 : Books      | 
-------------------------------------- 
| id | name | Price | Cur | PriceInRs| 
-------------------------------------- 
| 1 | ABC | 15.00 | $ | 889.43 | 
| 2 | PQR | 62.95 | € | 5019.63 | 
| 3 | XYZ | 49.99 | £ | 4929.51 | 
-------------------------------------- 

由於任何貨幣的匯率在表1中更新:匯率。表2:圖書中列價格InR的所有記錄必須反映貨幣的變化。

我該如何創建一個MySQL觸發器?

請幫助

+0

書中的問題你爲什麼要存儲currecy符號而不是來自費率表的id? –

+0

,因爲書表中的數據來自excel文件,其結構如書籍表。 – Darshan

+0

MySQL不是SQL SERVER – podiluska

回答

0

這是你如何能做到的,但我強烈建議從費率表的ID存儲到書籍表而不是象徵。

delimiter // 
create trigger rate_update after update on Rate 
for each row 
begin 
    if new.rate <> old.rate then 
    update Books set PriceInRs = new.rate * Price where Cur = old.symbol ; 
    end if ; 
end ; // 
delimiter ; 

,如果您已經存儲了ID的書籍表則where子句將使用從費率表的ID已經完成,這是強烈建議更新查詢。

相關問題