mysql存储过程中declare 和set 定义变量的区别
declare为对变量进行声明,声明必须制定变量的数据类型,只能写在过程的前面
set是对变量赋值,可以放在过程的任何地方
对没有declare声明过的变量赋值,该变量必须以加上@号,否则会报错
DECLARE a INT; -- 如果放在下面语句之后,会报错
SET a = (SELECT id FROM tb); -- 如果没有前面的声明,会报错
SET @b = (SELECT title FROM tb);
declare为对变量进行声明,声明必须制定变量的数据类型,只能写在过程的前面
set是对变量赋值,可以放在过程的任何地方
对没有declare声明过的变量赋值,该变量必须以加上@号,否则会报错
DECLARE a INT; -- 如果放在下面语句之后,会报错
SET a = (SELECT id FROM tb); -- 如果没有前面的声明,会报错
SET @b = (SELECT title FROM tb);