mysql call procedure into_MySQL ------ 存储过程 (PROCEDURE ) (二十五 ---1)

存储过程:为了以后的使用而保存的一条或多条MySQL语句的集合,也可以看成一个函数

版本要求: MySQL 5 添加了对存储过程的支持,所以mysql 版本要达到mysql 5 及以后的版本

使用情形:

大多数sql 都是针对一个或多个表的单挑语句。并非所有操作都这么简单,经常会有一个完整的操作需要多条语句。1、为了处理订单,需要核对以保证库存中有相应的物品2、如果库存有物品,这些物品需要预定以便不将他们再卖给别人,并且要减少可用物品数量以反映正确的库存量3、库存中没有的物品需要订购,这需要与供应商进行某种交互4、关于哪些物品入库(并且可以立即发货)和哪些物品退订,需要通知相关客户

完成上述需要,需要针对许多表的多条sql 语句,此外,需要执行的具体语句及其次序也不是固定的,他们可能会根据那些物品在库存中那些不在的而变化。

解决方式:

可以单独编写每条语句,并根据结果有条件地执行另外的语句。在每次需要这个时(以及每个需要它的应用中)都必须做这些工作,这个时候存储过程就可以丝滑的处理上述问题。

使用存储过程

一、创建存储过程 (PROCEDURE BEGIN END)

使用create procedure 名字() 语句定义,如果存储过程接收参数,就在括号里列举出来,begin 和end 语句用来限制存储过程体,过程体中一一般是select 语句。常常会和 delimiter(定义sql语句分隔符),放在一块使用,因为select 与也是用 ;结尾,不自定义就会不能创建成功存储过程。

下面先介绍一下,

ONE、无参数的存储过程

--下面的sql 开始使用 // 作为结尾

delimiter //

--创建一个存储过程 关键字时 procedure 名字是 proce_product()

create procedureproce_product()--开始存储

begin

--一条sql 语句

select * fromproducts;--结束

end //

执行调用一下


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部