存储过程
2021-03-15 本文已影响0人
DOB_8199
含义
一组预先编译好的SQL语句的集合,理解成批处理语句
好处
1、提高代码的重用性
2、简化操作
3、减少了编译次数并且减少了和数据库服务器的连接次数,提高了效率
创建语法
CREATE PROCEDURE 存储过程名(参数列表)
BEGIN
存储过程体(一组合法的SQL语句)
END
参数列表包含三部分
参数模式 参数名 参数类型
举例:IN stuname varchar(20)
参数模式:
in:该参数可以作为输入,也就是该参数需要调用方传入值,若不写默认是IN
out:该参数可以作为输出,也就是该参数可以作为返回值
inout:该参数既可以作为输入又可以作为输出,也就是该参数既需要传入值,又可以返回值
如果存储过程体仅仅只有一句话,begin end可以省略
存储过程体中的每条sql语句的结尾要求必须加分号。
存储过程的结尾可以使用 delimiter 重新设置
语法:delimiter 结束标记
案例:delimiter $
调用语法
CALL 存储过程名(实参列表);





删除存储过程
语法
drop procedure 存储过程名
DROP PROCEDURE p1;
DROP PROCEDURE p2,p3; #错误的
查看存储过程的信息
DESC myp2; #错误的
SHOW CREATE PROCEDURE myp2;