我正在将我的sybase代码移植到mysql,我正在讨论这个问题,可以在下面的代码示例中演示:
DELIMITER //
CREATE PROCEDURE proc_with_local_variable(
p_arg char(1)
)
sp_lbl:
BEGIN
DECLARE local_var INT DEFAULT 0;
set local_var = 123;
DECLARE local_var2 INT DEFAULT 0;
SELECT local_var, p_arg;
SELECT local_var, p_arg, local_var2;
END//
DELIMITER ;
call proc_with_local_variable("a");
在我看来,如果在声明之后执行set、select或其他操作,后续的声明就会失败并出现错误(或类似错误)。
ERROR: 1064 at line 4: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DECLARE local_var2 INT DEFAULT 0;
如果我把declare local\u var2移到一行,就在declare local\u var之后,就没有问题了。
我哪里都没见过这种记录。我错过什么了吗?
暂无答案!
目前还没有任何答案,快来回答吧!