Где мне написать MySQL триггер - PullRequest
2 голосов
/ 24 февраля 2010

Я не написал ни одного триггера для своих работ. Теперь я хочу знать, как написать триггер и куда мне его написать. Можно ли записать триггер как SQL-запрос в phpmyadmin.

Пожалуйста, помогите мне написать простой триггер ...

Я попробовал, как показано ниже

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 ;

Спасибо заранее Нисант

Ответы [ 2 ]

2 голосов
/ 24 февраля 2010

В phpMyAdmin вы можете создать триггер в окне SQL.

Возможно, вам придется установить разделитель на что-то вроде "$$" вместо значения по умолчанию ";". Вы можете легко изменить это в нижней части окна SQL.

Разделитель в phpMyAdmin http://img52.imageshack.us/img52/9144/phpmyadmin.jpg

Кроме того, убедитесь, что вы закрыли блок триггера с помощью команды END, которая отсутствует в вашем примере.

0 голосов
/ 24 февраля 2010

Вы должны взглянуть на документацию MySQL для триггеров.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...