以下经验总结基于MySQL 5.1。
在存储过程或函数中,对参数和变量的引用。
主要是牵涉到名称前是否带“@”符号。
- 定义参数和变量时,都不能带。
- 引用参数时不能带。
- 引用变量时可带可不带,但建议带上,以区别于参数。
下面给出正确的示例:
CREATE PROCEDURE myPro (arg0 INT)
BEGIN
DECLARE var0 INT;
SELECT arg0 AS 参数, @var0 AS 变量;
END
CASE语句,独立语句与嵌套语句的差异。
独立语句应如下书写:
CASE arg0
WHEN 1 THEN SELECT 1;
WHEN 2 THEN SELECT 2;
END CASE;
嵌套语句应如下书写:
SELECT
CASE arg0
WHEN 1 THEN 1
WHEN 2 THEN 2
END;
这里关键是注意结束符“;”和"END"出现的形式。