我试图在MySQL中执行DROP CREATE存储过程。
第一段代码运行得很好。
DELIMITER //
-- IMPORTANT: Change to ecom_prod
USE ecom_dev;
DROP PROCEDURE IF EXISTS `usp_getDetails`;
第二个块在-DROP CREATE Procedure附近的语句#2中给出错误
DROP程序如果存在usp_getDetails
;在第1行
DELIMITER //
-- IMPORTANT: Change to ecom_prod
USE ecom_dev;
-- DROP CREATE Procedure
DROP PROCEDURE IF EXISTS `usp_getDetails`;
唯一的区别是增加了额外的评论。我无法理解额外评论是如何导致此错误的。
欢迎任何和所有帮助
答案 0 :(得分:1)
将DELIMITER更改为分号以外的值后,应使用新的分隔符代替分号。
例如:
DELIMITER $$
-- IMPORTANT: Change to ecom_prod
USE ecom_dev$$
DROP PROCEDURE IF EXISTS `usp_getDetails`$$
DELIMITER ;
我不确定你的代码是如何使用分号的。我不认为这个问题与评论有关。但我还没有测试过它。 DELIMITER之前和之后总是有一个空行。我唯一一次使用DELIMITER
就是在我发布CREATE <stored_program_type>
时。