如果需要多次执行相同的SQL命令,就可以事先把这个处理定义为存储过程。
12.1 什么是存储过程
12.1.1 可用的版本
存储过程只能在5.0或更高的版本中使用。
12.1.2 什么是存储过程
将多个SQL语句组合成一个只需要使用命令“CALL XX”就能执行的集合,该集合就称为存储过程(stored procedure)。
12.2 使用存储过程
12.2.1 创建存储过程
命令格式:
CREATE PROCEDURE 存储过程名()
BEGIN
SQL语句1
...
SQL语句n
END
从BEGIN到END中间的内容是存储过程的主体。
因为存储过程的内容是“普通的SQL语句”,所以需要在命令的末尾加上分隔符“;”。也就是说,创建一个存储过程时,主体部分会像下面这种描述:
BEGIN
SELECT * FROM tb;
SELECT * FROM tb1;
END
这样,在创建存储过程的时候就会输入分隔符“;”。在这种情况下,CREATE PROCEDURE命令就会在储存不完整的状态下执行。因为在MySQL监视器中一旦输入了分隔符,不管什么内容,都会执行到第一个分隔符后不再往后执行。
修改分隔符的设置
在创建存储过程时,需要事先将分隔符从“;”修改为其他符号,一般使用“//”。