定义
- 存储过程,Stored Procedure
- 一组可编程的函数,是为了完成特定功能的 SQL 语句集,用户可通过指定存储过程的名字并给定参数来调用执行。
- [NOT] DETERMINISTIC:如果程序或线程总是对同样的输入参数产生同样的结果,则被认为它是“确定的”,否则就是“非确定”的。如果既没有给定DETERMINISTIC也没有给定NOT DETERMINISTIC,默认的就是NOT DETERMINISTIC(非确定的)CONTAINS SQL:表示子程序不包含读或写数据的语句。
存储过程相关命令
- 存储过程就是具有名字的一段代码,用来完成一个特定的功能
-
创建存储过程
存储过程用
create procedure创建,业务逻辑和sql写在begin 和 end 之间。create procedure proOne(in parameter1 varchar(128), parameter2 int)NOT DETERMINISTICCOMMENT '该存储过程注释'beginselect * from book_entity;end;
in 表示入参。
- out 表示出参。但是这个用起来很麻烦。这样子才能看到出参。
- inout,既可以做出参又可以做入参。
-- 假设出参是 output
call proOne(@output);
select @output;
调用存储过程
call proOne();
修改存储过程
alter procedure xxx;
删除存储过程
drop procedure if exists proOne;
查看所有存储过程
show procedure status;
查看创建语句
show create procedure procedure_name;
