2014-06-08 44 views
0

我试图调用存储过程来创建多个行,使用表资源中插入的新行的一些单元格值,但出现错误。这里是我的查询:SQL触发器给出错误

CREATE TRIGGER `details` AFTER INSERT ON `resource` 
FOR EACH ROW BEGIN 
CALL addcopies(NEW.copies, NEW.id, NEW.location); 
END; 

#1064 - 你有一个错误的SQL语法;检查与您的MySQL服务器版本相对应的手册,以便在第3行使用正确的语法

我在做什么错?

回答

0
delimiter | 
CREATE TRIGGER `details` AFTER INSERT ON `resource` 
FOR EACH ROW BEGIN 
    CALL addcopies(NEW.copies, NEW.id, NEW.location); 
END 
| 
delimiter ; 

如果不设置其他分隔符不是;,那么该语句将结束在第一;和你的触发器定义将是不完整的。您需要告诉MySQL该语句应该在您定义的分隔符处结束。之后,您可以将分隔符设回delimiter ;