以下代码提供了许多与分号相关的错误。我是MySql
的新手,所以很无聊。
CREATE PROCEDURE `sp_get_orderbystatus`(p_status_id int)
BEGIN
declare v int;
if(p_status_id = 1) then
begin
set v = 1;
end;
end if;
END
答案 0 :(得分:1)
如果您尝试在DELIMITER
cli中执行此操作,则需要更改mysql
。
DELIMITER // -- change the delimiter to '//'
CREATE PROCEDURE `sp_get_orderbystatus`(p_status_id int)
DECLARE v INT;
-- the rest of the code of your procedure
END//
DELIMITER ; -- change it back to ';'
Defining Stored Programs
如果使用mysql客户端程序定义包含分号字符的存储程序,则会出现问题。默认情况下,mysql本身将分号识别为语句分隔符,因此必须暂时重新定义分隔符,以使mysql将整个存储的程序定义传递给服务器。
答案 1 :(得分:1)
尝试: 分隔符// 你的程序在这里 END //
分隔符;