存储过程是啥
英文写法为Stored Procedure,通俗的来讲就是一组sql语句。
细分来看,
1.何为存储?实际大家执行sql语句的时候,是需要sql引擎进行编译优化然后再执行得到结果的,而存储过程是预先编译的,故称之为存储。
2.何为过程?现实生活中,指做了一些列事情最终得到了结果,过程就是那一系列的努力,这里边的存储过程也是同样,并不是一句sql,而是一组sql
最简单的存储过程
1.定义存储过程
DELIMITER //
CREATE PROCEDURE smp_proc()
BEGIN
SELECT * from koubei.shop_info;
END;
//
DELIMITER ;
2.调用存储过程
CALL smp_proc;
带出参存储过程
1.定义存储过程
DELIMITER //
CREATE PROCEDURE smp_out_proc(out out_res int)
BEGIN
SELECT count(*) into out_res from koubei.shop_info;
END;
//
DELIMITER ;
2.调用存储过程
#变量名字可以不一样
CALL smp_out_proc(@out);
SELECT @out;
带入参存储过程
1.定义存储过程
DELIMITER //
CREATE PROCEDURE smp_in_proc(in in_parm int)
BEGIN
SELECT * from koubei.shop_info WHERE shop_id < in_parm;
END;
//
DELIMITER ;
2.调用存储过程
set @in=10;
CALL smp_in_proc(@in);
存储过程在哪里
SELECT * from mysql.proc