使用用户变量在主叫程序和被叫程序之间传递信息
CREATE PROCEDURE GreetWorld() SELECT CONCAT(@greeting, ' World'); SET @greeting = 'Hello'; CALL GreetWorld);
把用户变量当成全局变量交叉使用
CREATE PROCEDURE p1()
SET @last_procedure = 'p1';
CREATE PROCEDURE p2()
SELECT CONCAT('Last procedure was ', @last_procedure);
CALL p1();
CALL p2();
注释
MySQL存储过程支持两种不同风格的注释:
1、两个连字符跟上一个空格,创建了一个到当前行末的注释
2、C语言风格的注释,用/*开始,以*/结束。我们称它为多行注释
操作符
MySQL包括大家在大多数语言中早已熟识的操作符,但是C风格的操作符(++, += )并不支持。
CREATE PROCEDUREoperators()
BEGIN
DECLARE a int default 2;
DECLARE b int default 3;
DECLARE c FLOAT;
SET c = a + b; SELECT 'a+b=', c;
SET c = a/b; SELECT 'a/b=', c;
SET c = a*b; SELECT 'a*b=', c;
IF (a < b) THEN
SELECT 'a is less than b';
END IF;
IF NOT (a=b) THEN
SELECT 'a is not equal to b';
END IF;
END;