这个存储过程的目的是把一张大表根据某一字段拆分成若干小表,比如student表中有stu_no 字段,现在根据学号的不同把每个学号单独放入一张表中
这是我写的存储过程:
CREATE PROCEDURE pro_transfer_method_data
BEGIN
declare v_stu_no INT;
declare flag int default 0;
declare cur1 cursor for select DISTINCT stu_no from student;
declare continue handler for sqlstate '02000' set flag = 1;
open cur1;
fetch cur1 into v_stu_no;
WHILE(flag!= 1) DO
call create_table_if_not_exist(CONCAT(v_stu_no, '_mc'));
call insert_data_to_table(CONCAT(v_stu_no, '_mc'), v_stu_no);
fetch curl into v_stu_no;
end WHILE;
close curl;
END;
报错如下:
[Err] 1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'BEGIN
declare v_stu_no INT;
declare flag int default 0;
declare cur1 curso' at line 2