目录
一、环境
mysql5.7.20
二、需求
有如下表:
现需创建新表,将某一行数据中的stuname字段值作为表名,该行数据中的valueb,valuec,valued值作为新表名的列值插入表中。
新表的字段有:valueid,value_b,value_c,value_d;其中,valueid 主键,非空,自增。value_b=valueb,value_c=valuec,value_d=valued。
最终结果如下:
需求涉及到mysql存储过程创建动态表名。
三、尝试
DROP PROCEDURE IF EXISTS pro_splitupqqq;
CREATE PROCEDURE pro_splitupqqq()
BEGIN
DECLARE s INT DEFAULT 0;
DECLARE col_a VARCHAR(255);
DECLARE col_b VARCHAR(255);
DECLARE col_c VARCHAR(255);
DECLARE col_d VARCHAR(255);
DECLARE helloset CURSOR FOR SELECT stuname,valueb,valuec,valued FROM testdes;
DECLARE CONTINUE HANDLER FOR NOT