// 存储过程的参数
1. in : 向存储过程函数里面传参数
2. out : 这个储存过程中执行完需要返回的数据
3. inout : in 和 out
// 存储过程的优点
1. 将重复性很高的操作,封装到一个存储过程中,和语言中的方法差不多
2. 批量处理
3. 统一接口,确保数据安全
一.存储过程的创建和调用
> 存储过程就是函数方法,也是用来完成某一个功能去好调用
> 创建的存储过程保存在数据库的数据字典中.
1.创建简单的储存过程
-- 创建存储过程
CREATE PROCEDURE sp_name ()
-- 开始语句begin 结束语句END ,开始和结束语句中是函数体,也就是一堆的sql语句
BEGIN
SELECT * FORM tables ;
END $
2.调用存储过程 call 函数名()
CALL sp_name()
3. in 参数的存储过程
-- 创建存储过程实现传入用户名和密码,插入到admin表中
CREATE PROCEDURE test_pro(IN username VARCHAR(20), IN userpassword VARCHAR(20) )
BEGIN
INSERT INTO admin(admin.username,admin.userpassword)
VALUES(username,userpassword);
END $
4.传入一个参数查询到的数据返回
-- 创建存储过程实现传入编号,查询数据的名称和密码返回
CREATE PROCEDURE test_pro2( IN id INT , OUT name CARCHAR(20) , OUT password VARCHAR(20))
BEGIN
SELECT admin.name,admin.password
FORM admin
WHERE admin.id = id
END $
5.存储过程体
>> 存储过程体中包含了在过程调用是必须执行的语句,例如dml , ddl 语句 , if-then-sele 和 while-do语句,
>> 声明变量的declare语句等
>> 过程格式: 以begin开始 ,以end结束 ,可以做嵌套