读书笔记-MySQL存储过程-变量(二)

2014-11-24 14:11:59 · 作者: · 浏览: 1
SET @y = 'Goodbye Cruel World'; SELECT @y; SET @z = 1+2+3; SELECT @z;

使用用户变量在主叫程序和被叫程序之间传递信息

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;