mysql--存储过程

来源:互联网 发布:linux服务器硬盘分区 编辑:程序博客网 时间:2024/06/03 06:34

作用
定义
调用
删除
输入/输出

作用
1.批量操作sql
2.有业务逻辑和流程的集合

定义

规则

举例
1.最简单的存储过程
create procedure porcedureName ()
begin
select name from t_lawfirm_achieve limit 1;
end;

调用

格式: call 存储过程名称()

举例:
1.简单调用
call porcedureName();

删除

格式: DROP PROCEDURE IF EXISTS 存储过程名称 ; – 没有括号()

举例:
DROP PROCEDURE IF EXISTS porcedureName;

变量

输入/输出

声明参数

规则
过程名 ( 输入输出类型 参数名 参数类型 ,)
举例
create procedure getTotalById ( in userId int, out total decimal(8,2) )

传入参数

获取输出参数

select @参数名;

举例

1.输入用户id,获取总金额
创建存储过程
create procedure getTotalById ( in userId int, out total int )
BEGIN
select userId into total ;
END;
2.调用函数
call getTotalById(1, @total);
3.获取
select @total;

变量

Mysql变量:

1、DECLARE variable_name datatype(size) DEFAULT default_value;

 此处声明的相当于一个局部变量 ,在end 之后便失效。 声明多个:DECLARE x, y INT DEFAULT 0   

2、set @p=1;

此处的session变量不需要声明,mysql会自动根据值类型来确定类型,这种变量要在变量名称前面加上“@”符号,叫做会话变量,代表整个会话过程他都是有作用的,这个有点类似于全局变量一样。这种变量用途比较广,因为只要在一个会话内(就是某个应用的一个连接过程中),这个变量可以在被调用的存储过程或者代码之间共享数据。

3、 变量赋值的方式,除了set,还可以使用select …..into…..的方式

循环

判断

原创粉丝点击