在mysql中调用触发器内部的触发器

时间:2013-05-18 13:29:38

标签: mysql

我想在修改用户表时更新计数器表。

我创建了一个触发器,我将对此过程进行调整。 但这种做法并不是在创造。 请告诉我这个程序有什么错误。

CREATE PROCEDURE barproc(IN id int,IN val int)
BEGIN
DECLARE @total_products int;

set @total_products=(SELECT COUNT(*)
FROM user where a=id and status='active')

if(@total_products>0)
    update counter
    set b=val
    WHERE a = id and status='active';

END if;

1 个答案:

答案 0 :(得分:0)

尝试

DELIMITER $$
CREATE PROCEDURE barproc(IN id INT, IN val INT)
BEGIN
IF (SELECT COUNT(*)
      FROM `user` 
     WHERE a = id AND `status` = 'active') THEN
    UPDATE counter
       SET b = val
     WHERE a = id AND `status` = 'active';
END IF;
END$$

DELIMITER ;