DELIMITER $$ //这个是什么? 我没有看懂。DROP PROCEDURE IF EXISTS `test`.`sp_zerofill`$$CREATE PROCEDURE `test`.`sp_zerofill`(IN num int)
BEGIN
declare i int default 1;
-- initialization value
set @sqltext = 'insert into lk14 values(0,''char0'')';
-- begin while
while i < num do
set @sqltext = concat(@sqltext,',','(',i,',''char',ceil(num*rand()),''')');
set i = i + 1;
end while;
-- begin dynamic sql
prepare s1 from @sqltext;
execute s1;
deallocate prepare s1;
END$$DELIMITER ;
其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。
即改变输入结束符。
默认情况下,delimiter是分号“;”。
声明字符串 $$ 为定界符
即把被 $$ 到 $$ 之间的内容视为一个整体你这是在定义存储过程,难免是多句指令构成的。