第七章 存储过程和函数
/*
存储过程和函数:类似于Java中的方法,将一组完成特定功能的逻辑语句包装起来,对外暴露名字
好处:
1、提高代码的重用性
2、简化操作
3、减少了编译次数且减少了和数据库服务器的连接次数,提高了效率
*/
一、存储过程
/*
含义:一组预先编译好的SQL语句的集合,理解成批处理语句
*/
1、 创建语法*
/*
语法:
CREATE PROCEDURE 存储过程名(参数模式 参数名 参数类型)
BEGIN
存储过程体(一组合法的SQL语句)
END
注意:
1、参数列表包含三部分
参数模式 参数名 参数类型
e.g:IN stuname VARCHAR(20)
参数模式:
IN:该参数可以作为输入,即该参数需要调用方传入值
OUT:该参数可以作为输出,即该参数可以作为返回值
INOUT:该参数既可以作为输入又可以作为输出,即该参数即需要传入值,又可以返回值
2、若存储过程体仅仅只有一句话,begin end 可以省略
3、存储过程体的每条SQL语句的结尾必须加分号
存储过程的结尾可以使用 DELIMITER 重新设置,语法:
DELIMITER 结束标记 案例:DELIMITER $
*/
2、调用语法
/*
语法:
CALL 存储过程名(实参列表);
举例:
调用in模式:CALL sp1('值');
调用out模式:SET @name; CALL p1(@name);SELECT @name;
调用inout模式:SET @name=值; CALL sp1(@name);SELECT @name;
*/
(1)空参列表
USE girls;
#案例:插入到admi