注:本文内容来源互联网,仅整理自己用。
首先写一个mysql的最简单存储过程:
DELIMITER $$
DROP PROCEDURE IF EXISTS HelloWorld$$
CREATE PROCEDURE HelloWorld()
BEGIN
SELECT "Hello World!";
END$$
DELIMITER ;
调用HelloWorld存储过程
CALL HelloWorld();
1,delimiter就是告诉mysql解释器,该段命令是否已经结束了,是否可以执行了。默认情况下,delimiter是分号;,遇到分号就执行。后面的双美元符号 就是告诉mysql,遇到双美元符号再执行,你也可以是不是$$而用//之类的。
MySQL创建存储过程的格式:
create procedure 存储过程名字()
(
[in|out|inout] 参数 datatype
)
begin
MySQL 语句;
end;
2,MySQL 存储过程名字后面的“()”是必须的,即使没有一个参数,也需要“()”
3,MySQL 存储过程的参数不能指定默认值。
4,因为 MySQL 存储过程参数没有默认值,所以在调用 MySQL 存储过程时候,不能省略参数。可以用 null 来替代
call pr_1(13, null);
5, 注释
declare c int; - 这是单行 MySQL 注释 (注意- 后至少要有一个空格)
if a is null then 单行 MySQL 注释
/*
多行MySQL注释
/