?
mysql 存储过程练习使用:
?
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 ;
?