需求

在存储过程中找到符合条件的数据 把它保存在一个结果记录表中

注意: 筛选的数据可能级多个

创建一个保存结果的表

保存符合条件的学生数据


CREATE TABLE match_student(
	id INT PRIMARY KEY AUTO_INCREMENT,
	NAME VARCHAR(11),
	attack INT
);

-- 筛选出符合条件的数据存到上表中

DELIMITER !

CREATE PROCEDURE find_student2(IN placeinfo VARCHAR(5))
BEGIN
	DECLARE temp_name VARCHAR(11);
	DECLARE temp_attack INT;
	DECLARE temp_place VARCHAR(11);
	DECLARE stu_cursor CURSOR FOR SELECT NAME,attack,place FROM student WHERE place = placeinfo;
	DECLARE EXIT HANDLER FOR NOT FOUND CLOSE stu_cursor;
	
	OPEN stu_cursor;
		WHILE TRUE DO
			FETCH stu_cursor INTO temp_name,temp_attack,temp_place;
			INSERT INTO match_student VALUES(NULL,temp_name,temp_attack);
		END WHILE;
END !

DELIMITER ;



CALL find_student2('木叶');