/ 文档备忘 / 0浏览

Mysql 中建立存储过程的方法 delimiter

按照网上的说法,建立了多次,都提示失败,代码如下:
create procedure search
(
idt int
)
BEGIN
SELECT * FROM xx WHERE id = idt;
end;

总是提示各种错误。。。

Google找了很久,终于找到了准确的方法,原来是要让mysql知道该段命令是否已经结束,可以运行。代码如下:
delimiter create procedure search
(
idt int
)
BEGIN
SELECT * FROM xx WHERE id = idt;
end

delimiter ;

这个命令与存储过程没什么关系吧,呵呵。其实就是告诉mysql解释器,该段命令(存储过程)是否已经结束了,mysql是否可以执行了。默认情况下,delimiter 是分号“;”一执行的话,后面的语句就不执行了,从而出错。使用delimiter就是定义一下命令结束标记,将”;”临时换成其他符号。可以使用”$$”或者”//”。