MySQL中创建存储过程


关键词

MySQL 存储过程

摘要

本文介绍MySQL中创建存储过程的操作、相关的SQL语句,以及相关的注意事项。

本文介绍MySQL中创建存储过程的操作、相关的SQL语句,以及相关的注意事项。

MySQL创建存储过程的基本语法


CREATE PROCEDURE <存储过程名> (参数列表)
BEGIN
    SQL语句代码块
END

注意事项


1、MySQL创建存储过程的SQL语句是一个代码段,在使用代码段时,一定要先声明代码的定界符。

为什么会这样呢?因为默认情况下,MySQL把分号(;)作为定界符,遇到分号时,MySQL就认为一段语句结束了,可以执行了。但存储过程中本身还会遇到SQL语句后面带的分号,所以MySQL就会执行失败。

举个例子看一下:
create procdure myproc()
begin
    select count(1) from tb_users;
end
如果就这样放进去执行,MySQL会在“tb_users;”处将存储过程的代码截断,然后先执行,然后你知道的,这部分代码怎么执行啊,执行不了的,它不是一个完整的创建存储过程的代码段。

怎么解决呢?可以使用delimiter命令来指定一个代码段的定界符,比如“//”。程序改一下:

delimiter //
create procdure myproc()
begin
    select count(1) from tb_users;
end
//

这样,代码就可以说正确的执行了,存储过程就创建起来了。

2、存储过程的参数列表

参数的指定形式为:
[in|out|inout] <参数名> <参数类型> [,[in|out|inout] <参数名> <参数类型>]...
看上来这个不一定看得懂,这是我按照cmd命令的命令格式语法写的。还是来看看例子吧:

delimiter //
create procdure myproc(in username varchar(20), in age int)
begin
    insert into tb_users(u_name, u_age) values(username, age);
end
//

好了,关于MySQL存储过程的创建就介绍这么多,谢谢!

 

要饭二维码

洪哥写文章很苦逼,如果本文对您略有帮助,可以扫描下方二维码支持洪哥!金额随意,先行谢过!大家的支持是我前进的动力!

文章的版权

本文属于“洪哥笔记”原创文章,转载请注明来源地址:MySQL中创建存储过程:http://www.splaybow.com/post/mysql-create-procedure.html

如果您在服务器运维、网络管理、网站或系统开发过程有需要提供收费服务,请加QQ:8771947!十年运维经验,帮您省钱、让您放心!
亲,如果有需要,先存起来,方便以后再看啊!加入收藏夹的话,按Ctrl+D

« MySQL-5.5.33安装教程 mysql修改data目录方法 »