我正在使用MySql 5.5數據庫,我有test1,test2,test3和test4數據庫。 test1數據庫有3個表(Student,Employee,Trainer)。 test2數據庫有3個表格(表格1,表格2,表格3) 。 現在我的問題是如何在MySql中爲特定數據庫創建觸發器?
如何將TRIGGER應用於test1數據庫?所以聽到TRIGGER適用於學生,員工,培訓師表。
請給我解決方案。
我正在使用MySql 5.5數據庫,我有test1,test2,test3和test4數據庫。 test1數據庫有3個表(Student,Employee,Trainer)。 test2數據庫有3個表格(表格1,表格2,表格3) 。 現在我的問題是如何在MySql中爲特定數據庫創建觸發器?
如何將TRIGGER應用於test1數據庫?所以聽到TRIGGER適用於學生,員工,培訓師表。
請給我解決方案。
CREATE TRIGGER的一般語法是: CREATE TRIGGER TRIGGER_NAME trigger_time trigger_event ON tbl_name FOR EACH ROW trigger_statement
在下面的例子中,我們在表emp插入任何記錄之前更新Employee表的Salary列。例如:
mysql> SELECT * FROM Employee;
+ ----- + --------- + ---------- + ------------------ - + -------- + ------- +
| Eid | Ename |城市|指定|薪水| Perks |
+ ----- + --------- + ---------- + ----------------- - + -------- + ------- +
| 1 |拉胡爾|德里|經理| 10300 | 853 |
| 2 | Gaurav |孟買|助理經理| 10300 | 853 |
| 3 | Chandan | Banglore |團隊領導| 15450 | 999 |
| 5 | Tapan |浦那|開發人員| 20600 | 1111 |
| 6 | Amar |欽奈|開發人員| 16000 | 1124 |
| 7 | Santosh |德里| Designer | 10000 | 865 |
| 8 |蘇曼|浦那|網頁設計師| 20000 | 658 |
+ ----- + --------- + ---------- + ------------------ - + -------- + ------- +
7組行(0.00秒)
的MySQL>定界符//
的MySQL> CREATE TRIGGER ins_trig BEFORE INSERT ON Emp
-> FOR EACH ROW
-> BEGIN
-> UPDATE Employee SET Salary=Salary-300 WHERE Perks>500;
-> END;
-> //
Query OK,0 rows affected(0。01秒)
mysql> delimiter; INSERT INTO Emp VALUES(9,'Rajesh','Delhi','Developer',15000,658);
Query OK,1 row affected(0.05 sec)
mysql> SELECT * FROM Employee;
+ ----- + --------- + ---------- + ------------------ - + -------- + ------- +
| Eid | Ename |城市|指定|薪水| Perks |
+ ----- + --------- + ---------- + ----------------- - + -------- + ------- +
| 1 |拉胡爾|德里|經理| 10000 | 853 |
| 2 | Gaurav |孟買|助理經理| 10000 | 853 |
| 3 | Chandan | Banglore |團隊領導| 15150 | 999 |
| 5 | Tapan |浦那|開發人員| 20300 | 1111 |
| 6 | Amar |欽奈|開發人員| 15700 | 1124 |
| 7 | Santosh |德里| Designer | 9700 | 865 |
| 8 |蘇曼|浦那|網頁設計師| 19700 | 658 |
+ ----- + --------- + ---------- + ------------------ - + -------- + ------- +
7排在組(0.00秒)
它有可能適用? CREATE TRIGGER test.ins_trig BEFORE INSERT ON test.table1,test.table2 - > FOR EACH ROW - > BEGIN - >更新員工SET工資=工資-300 WHERE心動> 500; - > END; - > // – Chinna 2012-07-27 12:53:09
當然不是。它會工作 – 2012-07-27 12:58:31