欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

MySQL存储过程与函数的使用

程序员文章站 2024-03-25 21:45:10
...

一、存储过程

含义:一组预先编译好的SQL语句的集合

1.创建语法

create procedure 存储过程名(参数列表)
begin
    存储过程体(一组SQL语句)
end

参数列表包含三部分:参数模式参数名参数类型

参数模式:inoutinout

2.调用语法

call 存储过程名(实参列表);

3.删除语法

drop procedure 存储过程名;

4.示例

1) 创建

delimiter $
create procedure proc_student(in idparam int, out nameparam varchar(20))
begin
	select name into nameparam
	from student
	where id=idparam;
end $

2) 调用

set @idparam=1;
set @nameparm='';
call proc_student(@idparam, @nameparam);
select @nameparam;

3) 删除

drop procedure proc_student;

二、函数

1.创建语法

create function 函数名(参数列表) returns 返回类型
begin
    函数体
end

参数列表包含两部分:参数名参数类型

函数体:必须有return语句,否则会报错

2.调用语法

select 函数名(参数列表);

3.删除语法

drop function 函数名;

4.示例

1) 创建

如果有error 1418错误,就加上deterministic

delimiter $
create function func_sum(a int, b int) returns int deterministic
begin
	declare res int default 0;
	set res = a + b;
	return res;
end $

没有deterministic可能会报错

MySQL存储过程与函数的使用

2) 调用

select func_sum(1,2);

3) 删除

drop function func_sum;

三、存储过程与函数的区别

存储过程:可以有0个返回,也可以有多个返回,适合批量插入,批量更新

函数:有且仅有1个返回,适合做处理数据后返回一个结果

 

相关标签: mysql

上一篇: Week1 枚举

下一篇: csp-化学方程式