首页 > 代码库 > 【瞎折腾系列】mysql存储过程初接触
【瞎折腾系列】mysql存储过程初接触
开始【瞎折腾系列】,这个系列纯属瞎折腾,可能没有什么实际意义。
mysql存储过程生成表:
新建一张user表,包含id, username , password , usertable字段。
然后创建存储过程:
create PROCEDURE create_table()BEGINDECLARE n int DEFAULT 0;DECLARE t_error INTEGER DEFAULT 0; DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1;temp_loop:LOOPSTART TRANSACTION; SET @m=replace(UUID(),‘-‘,‘‘);set @str=concat(‘create table x‘,@m,‘(id int)‘);prepare stmt FROM @str;EXECUTE stmt;set @insertstr=concat(‘insert into user(username,password,usertable) values("test","testp","x‘,@m,‘")‘);prepare stmt1 FROM @insertstr;EXECUTE stmt1;IF t_error = 1 THEN ROLLBACK; ELSE COMMIT; END IF; set n=n+1;IF n>=2000 THEN LEAVE temp_loop;END IF;END LOOP;END
通过UUID()获取UUID,然后去掉-线,然后在前面加个x,为什么加x呢,因为直接用UUID做表名有时候会报错,具体原因不明。
然后生成username,password,再把生成的表名插入到usertable字段中。
通过CALL creat_table();执行存储过程。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。