你可以把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 ;
baidu搜索一下例子还是很多的。
DELIMITER $$ CREATE PROCEDURE ff() BEGIN aa:BEGIN SELECT * FROM tt1; END aa; bb:BEGIN SELECT * FROM cyx; END bb; END$$ DELIMITER ;
然后在存储过程中,变量的定义不能加@符号,并且必须是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 ;
CREATE PROCEDURE ff()
BEGIN
aa:BEGIN
SELECT * FROM tt1;
END aa;
bb:BEGIN
SELECT * FROM cyx;
END bb;
END$$
DELIMITER ;