mysql 存储过程练习使用:
call test_pro1()
DELIMITER $$
USE `test`$$
DROP PROCEDURE IF EXISTS `test_pro1`$$
CREATE DEFINER=`root`@`%` PROCEDURE `test_pro1`()
BEGIN
/*变量的声明*/
DECLARE username VARCHAR(40) ;
DECLARE age INT ;
DECLARE var INT ;
DECLARE down INT DEFAULT 0 ;
DECLARE PERIOD_ID1 INT ;
DECLARE tmp_chapter_id1 VARCHAR(40) ;
/*声明一个 游标,指向一个结果集*/
DECLARE cur_program_period CURSOR FOR SELECT PERIOD_ID , tmp_chapter_id FROM program_period ;
/*循环游标结束时候 这个数值会变为1 ,游标结束标识*/
DECLARE CONTINUE HANDLER FOR NOT FOUND SET down=1 ;
SET age=7 ;
/*if语句以及逻辑运算符*/
IF age > 29 THEN
SELECT '年龄大于29' ;
END IF;
SET username='wangzhantao';
SELECT username ;
/*循环使用*/
SET var=0;
WHILE var <6 DO
SET var = var +1 ;
END WHILE ;
SELECT var ;
/*游标使用*/
OPEN cur_program_period;
/*游标指向第一条*/
FETCH cur_program_period INTO PERIOD_ID1 , tmp_chapter_id1 ;
/*打印变量 tmp_chapter_id1 */
SELECT tmp_chapter_id1;
/*循环游标使用*/
WHILE down<>1
DO
FETCH cur_program_period INTO PERIOD_ID1 , tmp_chapter_id1 ;
END WHILE ;
CLOSE cur_program_period;
END$$
DELIMITER ;