高手进来看看 这个代码什么意思?

li55555558888 2012-05-09 02:57:38

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 ;
...全文
98 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
li55555558888 2012-05-09
  • 打赏
  • 举报
回复
谢谢了。
xuzuning 2012-05-09
  • 打赏
  • 举报
回复
DELIMITER 定界符

DELIMITER $$
声明字符串 $$ 为定界符
即把被 $$ 到 $$ 之间的内容视为一个整体

你这是在定义存储过程,难免是多句指令构成的。
ndfee 2012-05-09
  • 打赏
  • 举报
回复
这个命令与存储过程没什么关系。
  其实就是告诉mysql解释器,该段命令是否已经结束了,mysql是否可以执行了。
  即改变输入结束符。
  默认情况下,delimiter是分号“;”。
乌镇程序员 2012-05-09
  • 打赏
  • 举报
回复
存储过程的语法,用DELIMITER关键词定义一个代码段分隔符。

21,881

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧