MySQL储存过程
储存过程
储存过程:储存是一个可编辑函数,它在数据库中创建并保存。
程序一般分为两种:一种基于web、另一种基于桌面,它们都通过与数据库进行交互来完成数据的存取工作。
1.创建储存过程:创建储存过程一般有两种,一种是带参数,一种是不带参数。
1.不带参数:创建储存过程:delimiter// 自定义语句结尾符,因为这里要执行好多句SQL语句,所以要自定义,防止出错
create procedure p1()
bagin
slecet * from tab1;
end//
delimiter; 自定义局域结尾符号结束
执行存储过程 call p1()
2.带参数主要有三类:in 仅用于传入参数用
out 仅用于返回值用
inout 既可传入又可当返回值用
创建储存过程:delimiter\\
create procedure p1(
in i1 int 传入参数1
in i2 int 传入参数2
inout i3 int 既传入又能得到返回值
out r1 int 得到返回值
)
bagin
declare temp1 int;
declare temp2 int default 0;
set temp1=1;
set r1=i1+i2+temp1+temp2;
set i3=i3+100;
end\\
delimiter;
执行储存过程:
declare @ t1 int default 3; 设置变量默认值为3
declare @ t2 int ; 设置变量
call p1(1,2,t1,t2); 执行储存过程,并传入参数,t2自动取消
select @1,@2; 查看储存过程输出结果
2.删除储存过程
drop procedure p1;
3.python 用pymysql模块调用储存过程