56,864
社区成员




mysql> use test;
Database changed
mysql> delimiter $$
mysql> DROP PROCEDURE IF EXISTS tt $$
Query OK, 0 rows affected (0.00 sec)
mysql> create procedure `tt` ()
-> begin
-> declare id integer;
-> set id=1;
-> while(id<300)
-> do
-> set id=id+1;
-> set @ee= concat ("insert into url(urladdr) values('
')","");
-> end while;
-> prepare ee from @v_flag;
-> EXECUTE ee ;
-> DEALLOCATE PREPARE ee;
-> end $$
Query OK, 0 rows affected (0.00 sec)
mysql> call tt;
->
调用存储过程的时候出现卡死状态 但是也退不出来 只能用ctrl+c
为什么
--建个表存放结果
create table test(col Nvarchar(200));
--存储过程
DELIMITER $$;
DROP PROCEDURE IF EXISTS `test`.`test_proc`$$
CREATE PROCEDURE `test`.`test_proc` ()
BEGIN
DECLARE i int;
SET i=1;
WHILE i<=301 DO
INSERT INTO test SELECT concat('
');
SET i:=i+1;
END WHILE;
END$$
DELIMITER ;$$
--调用存储过程
call test_proc
--查看结果
select * from test