2010-02-24 112 views
2

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

请帮我写一个简单的扳机......

我提前 试图像下面

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

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

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

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

另外,请确保您与END命令,这是从你的榜样缺失关闭扳机区块。

+1

不相关的问题或者你的答案 - PNG屏幕截图将用更少的大小;-) – zerkms 2010-02-24 10:07:33

+0

喜丹尼尔, 更好如果妳不介意u能写简单的代码。我尝试了很多时间,但得到了一些SQL语法错误 – 2010-02-24 10:07:44

+0

@Nisanth:你得到什么语法错误? – 2010-02-24 10:21:41