mysql 存储过程
目的:类似在存储单元中写入函数,在实际使用到的过程中,重复使用这些函数,提高代码复用率,增加效率。以及-定程度上防范sql注入。
存储过程如何书写?
1.更改我们mysql的语句结束符; , 把它改成其他的符号
语法: delimiter 自定义符号
自定义符号建议使用$$ 11
如:
delimiter //
2.创建存储过程(当成写个函数)
语法:
create procedure 存储过程的名称(in 列名称 属性[约束])
begin
# 具体的,正常的人分号;为结尾的sql语句
select * from xxx;
end
//
示例:
create procedure myFunce(in numl int)
-> begin
-> select numl+10 as result;
-> end
-> //
3、调用存储过程。就类似于调用函数
语法:call存储过程name(参数)
-如:
call myFunce(2)//
4.显示 存储过程 创建的详尽信息
语法:show create procedure 名称//
5.删除
语法:drop procedure 名称//
=使用变量=====
1.select ‘hello’ into @x//
2.set @y=‘world’//
===========存储过程的参数形=
create procedure myFunc( in num2 int )
这个in位置可以有3个情况
in 输入参数,外部输入的值,内部修改后不影响外部,不能被返回
out 输出参数,可以在存储过程中改变,并返回
inout 可输入可输出,调用时指定,并可以修改与返回。
例如 :
create procedure myOne(in var2 int)
begin
select var2;
set var2=20;
select var2;
end
//
set @a=10//
call myOne(@a)//