哪位仁兄能提供一个可运行的多个begin和end的存储过程的例子啊,主要是想了解下多个begin和end下里面变量的作用于以及sql语句的编写,先谢谢大家啦~存储sql

解决方案 »

  1.   

    你可以把begin end 理解成一般编程函数中的"{ "和"}"符号,如果有多条语句的话,就必须用begin end包括起来
    然后在存储过程中,变量的定义不能加@符号,并且必须是begin 和end范围下的第一句话,在那个begin end下定义的变量,它的范围就是这个begin end
    简单的例子,判断质数,delimiter //
    CREATE PROCEDURE is_prime(IN num INT,OUT ans CHAR(3))
    COMMENT '过程用来判断某一个数字是否是质数'BEGIN
    DECLARE temp INT DEFAULT 2;
    SET ans='YES';
    lo:WHILE num>temp DO
    IF num%temp=0 THEN
    SET ans='NO';
    LEAVE lo;
    ELSE
    SET temp = temp+1;
    END IF;
    END WHILE lo;
    END//
    delimiter ;
      

  2.   

    baidu搜索一下例子还是很多的。
      

  3.   

    DELIMITER $$
    CREATE PROCEDURE ff()
    BEGIN
    aa:BEGIN
    SELECT * FROM tt1;
    END aa;
    bb:BEGIN
    SELECT * FROM cyx;
    END bb;
    END$$
    DELIMITER ;