我在哪里编写MySQL触发器

时间:2010-02-24 09:37:20

标签: mysql sql triggers phpmyadmin

我没有为我的作品写任何触发器。现在我想知道如何编写触发器以及在哪里编写它。是否可以在phpmyadmin中将触发器写为SQL查询。

请帮我写一个简单的触发器......

我试过以下

Create Trigger sales_bi_trg
BEFORE INSERT ON sales
FOR EACH ROW
BEGIN
DECLARE num_row INTEGER ;
DECLARE tot_rows INTEGER ;
SELECT COUNT(*)
INTO tot_rows
FROM sales
WHERE employee_id = NEW.employee_id ;
   IF num_row > 0 THEN
       UPDATE perfomance 
    SET total_sales = NEW.sale_amt + total_sales,
    ave_sale = total_sales/(tot_rows + 1)
    WHERE employee_id = NEW.employee_id ;
   ELSE
   INSERT INTO perfomance
(employee_id, name, total_sales,ave_sale)
VALUES (NEW.employee_id, NEW.name, NEW.sale_amt, NEW.sale_amt) ;
   END IF ;

提前致谢 Nisanth

2 个答案:

答案 0 :(得分:2)

在phpMyAdmin中,您可以在SQL窗口中创建触发器。

您可能必须将分隔符设置为“$$”而不是默认的“;”。您可以从SQL窗口的底部轻松更改此内容。

Delimiter in phpMyAdmin http://img52.imageshack.us/img52/9144/phpmyadmin.jpg

此外,请确保使用END命令关闭触发器块,该示例中缺少该命令。

答案 1 :(得分:0)

您应该查看MySQL文档中的触发器。

http://dev.mysql.com/doc/refman/5.5/en/triggers.html