1. MySQL 存储过程和函数
相对应函数/方法,存储函数必须有返回值,存储过程可以没有返回值
2. 存储过程
存储过程可以没有返回值
-- 修改结束分隔符这里指定为$ 可以自定义delimiter $-- 创建存储过程create procedure 存储过程名称(参数列表[可为空]beginsql 语句;end$-- 恢复结束分割符为分号delimiter;-- 调用存储过程call 存储过程名称(参数);
查询数据中所有的存储 过程 必须是root权限用户
select * from mysql.proc where db='数据库名称';
删除存储过程
drop procedure [if exists] 存储过程名称;
2.1. 变量
- 定义变量 declare 变量名 数据类型 [default 默认值];
- 赋值 set 变量名 = 值;
- 赋值2 select 列名 into 变量名 from 表名 [where 条件];
2.2. if语句
if 判断条件1 then sql语句;elseif 判断条件2 then sql语句;else sql语句;end if;
2.3. 传参
- IN 默认值 输入参数关键字 由调用者传递实参
- OUT 输出参数,作为返回值返回
- INOUT 即可以为输入也可以为输出
create procedure 存储过程名([IN|OUT|INOUT] 参数名 数据类型)BEGINSQL 语句;END$-- 调用call 存储过程名(@输出参数名);-- 查询返回值select @输出参数名
2.4. while 循环
while 判断语句 do循环体语句;end while;
3. 存储函数
存储函数必须要有返回值 即有out参数
delimiter $create function 函数名称(参数列表)returns 返回值类型beginsql语句;return 返回值;end$delimiter ;-- 调用select 函数名称(实际参数);
- 删除函数 drop function 函数名;
