只要在工作中接触到了MySQL数据库,那存储过程绝对是不可避免要深入了解的。
因为很多产品的业务逻辑都是通过存储过程来实现的,它的功能真的很强大,为此很多人把它弄得特别的复杂。
于此我分享的就是看透存储过程的本质,其他的都是在此基础上各类业务代码的叠加罢了。
工具/原料
MySQL 5.7
Navicat
操作方法
了解概念
MySQL中每个存储的程序都包含一个由SQL语句组成的主体。
该语句可以是由多个用分号(;)字符分隔的语句组成的复合语句。
掌握语法格式
CREATE PROCEDURE PROCNAME(参数1 参数类型,参数2 参数类型,……)
BEGIN
statement sql;
END
3动手写一个简单案例,即Create
查询一个用户信息
DELIMITER // 定义标识符为双斜杠
DROP PROCEDURE IF EXISTS PROC_QUERY_USER; 如果存在该存储过程则删除
CREATE PROCEDURE PROC_QUERY_USER(t_name VARCHAR(20))
BEGIN
SELECT userName,userPWD FROM BBS_USER WHERE userName = t_name;
END
// 结束定义语句
4编译存储过程
5调用存储过程
CALL PROC_QUERY_USER('Test01'); 调用存储过程
总结
接触存储过程不要把它想得太复杂,牢记下面两点就行1、MySQL中存储过程确实只是封装一些可执行的语句块;2、存储过程必须先Create,再编译,然后才可以被调用。