存储过程可以理解成数据库的子程序,在客户端和服务端可以直接调用它。
-
创建 CREATE
首先,为了避免与存储过程体中的结束符冲突,先将语句结束符换为其他的符号:delimiter //
创建语法格式
1 CREATE PROCEDURE {存储过程名称}({参数类 参数名 参数类型}……) 2 begin 3 {逻辑操作} 4 end// 5 6 delimiter ;/*记得在声明完成之后,需要手动换回语句结束符。*/
一个小例:
1 delimiter // 2 create procedure myselect() 3 begin 4 select * from person; 5 end// 6 delimiter ;
-
调用 CALL
call myselect();
-
删除
DROP PROCEDURE [IF EXISTS] db_name.sp_name;
-
捕获异常和处理
1 DECLARE {CONTINUE|EXIT} HANDLER FOR {sqlexception|sqlwarning} {操作};
-
查看所有的存储过程
show procedure status where db='数据库名';
例如:
show procedure status where db='mydbone';
-
查看指定的某个存储过程
1 SHOW CREATE PROCEDURE 数据库.存储过程名;
例如:SHOW CREATE PROCEDURE mydbone.add;