2014-06-08 66 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 ;