1 CREATE DEFINER=`root`@`localhost` PROCEDURE `NewProc`(IN `学号` VARCHAR(15)) 2 BEGIN 3 START TRANSACTION; 4 SET @sql1 = CONCAT('SELECT `班级` INTO @classname FROM `2018-9-30在校学生名单` WHERE `学号`=',`学号`,';'); 5 prepare stmt from @sql1; -- 预处理需要执行的动态SQL, 6 EXECUTE stmt; 7 deallocate prepare stmt; -- 释放掉预处理段 8 9 10 set @sql2 = CONCAT('SELECT * FROM ',@classname,';'); 11 prepare stmt from @sql2; -- 预处理需要执行的动态SQL, 12 EXECUTE stmt; 13 deallocate prepare stmt; -- 释放掉预处理段 14 COMMIT; 15 END