一、创建存储函数
CREATE PROCEDURE 存储过程名
(参数列表)
BEGIN
MySQL句代码块
END
详细形式
CREATE FUNCTION sp_name ([func_parameter[,...]])
RETURNS type
[characteristic ...] routine_body
参数说明
1、sp_name参数是存储函数的名称
2、func_parameter表示存储函数的参数列表
func_parameter中的每个参数由3部分组成。这3部分分别是输入输出类型、参数名称和参数类型。其形式如下:
[ IN | OUT | INOUT ] param_name type
3、RETURNS type指定返回值的类型
4、characteristic参数指定存储函数的特性,该参数的取值与存储过程中的取值是一样的
5、routine_body参数是SQL代码的内容,可以用BEGIN…END来标志SQL代码的开始和结束。
二、MySql存储过程使用时注意事项
1、参数如果不显式指定“in”、“out”、“inout”,则默认为“in”。习惯上,对于是“in” 的参数,我们都不会显式指定。多个参数用','分割。
2、MySQL 存储过程名字后面的“()”是必须的,即使没有一个参数,也需要“()”。
3、MySQL 存储过程参数,不能在参数名称前加“@”,如:“@a int”。
4、 MySQL 存储过程中的变量,不需要在变量名字前加“@”,虽然 MySQL 客户端用户变量要加个“@”。
5、MySQL 存储过程的参数不能指定默认值。
6、MySQL 存储过程不需要在 procedure body 前面加 “as”。而 SQL Server 存储过程必须加 “as” 关键字。
7、如果 MySQL 存储过程中包含多条 MySQL 语句,则需要 begin end 关键字。
文章转载自: MySql存储过程 http://www.studyofnet.com/news/1107.html