我是 MySQL 新手。我们什么时候使用声明变量?何时使用未声明的变量(@varTest)
。
我想知道最佳实践。谢谢。
最佳答案
您应该始终使用DECLARE
创建过程变量以保持适当的范围。在函数外部声明的 session 变量可以在函数内部更改,反之亦然。
DROP PROCEDURE IF EXISTS foo;
DELIMITER $
CREATE PROCEDURE foo()
BEGIN
DECLARE foo INT;
SET foo = 123;
SET @foo = 456;
SELECT foo, @foo;
END$
DELIMITER ;
SET @foo = "BAR";
CALL foo();
SELECT @foo;
关于MySQL 存储过程变量 - 何时使用哪个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34820279/