创建存储过程
delimiter &&
create procedure pro_name (in id int, out count_num int)
reads sql date
begin
select count(*) from t_book where book_type = id;
end
&&
delimiter ;
创建存储函数
delimiter &&
create funtion func_book (book_id int)
returns varchar(20)
begin
return (select book_name from t_book where id = book_id)
end
&&
delimiter ;
变量
- 定义变量
- declare 变量名 类型 [default 值]
- 为变量赋值
- set 变量名 = 值;
- select 字段 into 变量名 from 表名 where 条件
游标
- 声明游标
- declare 游标名 cursor for select语句;
- 打开游标
- open 游标名;
- 使用游标
- fetch 游标名 into 变量名;
- 关闭游标
- close 游标名;
流程控制语句
if语句
if 条件 then 执行语句
[elseif 条件 then 执行语句]
...
[else 执行语句]
end if
case语句
case 值
when 值 then 执行语句;
...
[else 执行语句]
end case
loop,leave语句
[标签:] loop
执行语句;
[leave 标签]
end loop [标签];
iterate语句
跳出本次循环
iterate 标签;
repeat语句
[标签:] repeat
执行语句;
until 条件
end repeat [标签];
while语句
[标签:] while 条件 do
执行语句;
end while [标签]
调用存储过程和函数
- 调用存储过程
- call 存储过程名(参数列表);
- 调用函数
- 函数名(参数列表);
查看存储过程和函数
- show status 语句查看存储过程和函数的状态
- show status like '存储名或函数名';
- show create语句查看存储过程和函数的定义
- show create '存储名或函数名';
修改存储过程或函数
alter 存储过程或函数的名称 .......
删除存储过程或函数
drop 存储过程或函数的名称;