- 项目里写存储过程会被打死(调试太难,逻辑难懂,难维护)
- 但是 造数据,修改或者删除数据挺方便,
- 这次开发业务要像几张表插入数据(大批量),使用了一下
DROP PROCEDURE IF EXISTS proc_initPic;
DELIMITER $
CREATE PROCEDURE proc_initPic(IN `arrays` varchar(1000), num int, st int)
BEGIN
SET @i = st;
set @sn = arrays;
SET @count = num;
WHILE @i <= num
DO
select concat(arrays,@i) str;
SET @i = @i + 1;
END WHILE;
END $;
call proc_initPic('22105077100', 249, 244);
DROP PROCEDURE IF EXISTS proc_initData;
DELIMITER $
CREATE PROCEDURE proc_initData(IN `arrays` varchar(1000))
BEGIN
SET @array_content = arrays;
SET @i = 1;
SET @count = CHAR_LENGTH(@array_content) - CHAR_LENGTH(REPLACE(@array_content, ',', '')) + 1;
WHILE @i <= @count
DO
select SUBSTRING_INDEX(SUBSTRING_INDEX(@array_content, ',', @i), ',', -1) subStr;
SET @i = @i + 1;
END WHILE;
END $;
CALL proc_initData('22105077100222,22105067100203,22105067100200,22105077100223,22105067100201,22105077100225');
-
mysql 存储过程
-
while循环遍历插入数据, do *** end while
-
变量赋值 set varb=parms 也可以直接使用parms
-
调用 call xxx
-
调试输出 再存储过程里调用 select
-
DELIMITER ; e n d ; end ;end; 修改默认的结束符号