举例1:
创建存储过程:
DELIMITER $$
CREATE
PROCEDURE `zyh`.`if_else_`(
IN num INT(11),
OUT total VARCHAR(225)
)
BEGIN
DECLARE num_ INT;
SELECT COUNT(*) INTO num_ FROM goods WHERE pre_price > num;
IF num_ > 1000 THEN
SET total = '大于1000条';
ELSEIF (num_ > 1 AND num_ < 10) THEN
SET total = '大于1条 小于 10 条';
ELSEIF (num_> 10 AND num_ < 1000) THEN
SET total ='大于10条小于 1000';
END IF;
END$$
DELIMITER ;
调用存储过程:
CALL if_else_(10,@total);
SELECT @total;
举例2: 游标在存储过程中的使用:
创建存储过程:
DELIMITER $$
CREATE PROCEDURE `zyh`.`you_biao`()
BEGIN
DECLARE str VARCHAR(225) DEFAULT '';
DECLARE finished INT DEFAULT 0;
DECLARE v VARCHAR(20);
DECLARE bonus_value CURSOR FOR SELECT `value` FROM bonus;
DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished = 1;
OPEN bonus_value;
get_value : LOOP
FETCH bonus_value INTO v;
IF finished = 1 THEN
LEAVE get_value;
END IF;
IF str != '' THEN
SET str= CONCAT(str,';',v);
ELSE
SET str = v;
END IF;
END LOOP get_value;
CLOSE bonus_value;
SELECT str;
END$$
DELIMITER ;
调用存储过程:
call you_biao();