mysql 存储过程总结(一)

mysql 存储过程总结(一),第1张

1、存储过程定义:

存储过程是事先经过编译并存储在数据库中的一段 SQL 语句的集合,调用存储过程可以简化应用开发 人员的很多工作,减少数据在数据库和应用服务器之间的传输,对于提高数据处理的效率是有好处的。 存储过程思想上很简单,就是数据库 SQL 语言层面的代码封装与重用。

2、特点:

封装,复用 : 可以把某一业务SQL封装在存储过程中,需要用到 的时候直接调用即可。

可以接收参数,也可以返回数据 :再存储过程中,可以传递参数,也可以接收返回 值。

减少网络交互,效率提升 : 如果涉及到多条SQL,每执行一次都是一次网络传 输。 而如果封装在存储过程中,我们只需要网络交互一次可能就可以了。

3、基本语法

(1)创建:

(2)调用:

(3)查看:

(4)删除

注意: 在命令行中,执行创建存储过程的SQL时,需要通过关键字 delimiter 指定SQL语句的 结束符。

上一节存储过程封装的都是简单的select语句,直接使用被封装的语句就能完成。所以存储过程往往应用于更复杂的业务规则处理时更有效

看一个例子

这个例子使用元素比较多,解释一下:

COMMENT为表添加了一句注释

-- 单行注释,注释跟在后面的内容,需要注意-- 后需要加一个空格才能生效;

(#注释内容        /*注释内容*/  这两种方法也能进行注释)

Declare用来声明变量,一句declare只能声明一个变量,变量必须先声明后使用

If...Then是进行条件判断的,基本语句如下:

If ... Then ... Else ... End If

这个存储过程完成了订单合计,并判断该订单是否需要增加营业税。taxable是一个布尔值(如果要增税为真,否则为假)。在存储体中定义了两个局部变量。并将结果存储到局部变量total中。if语句检查taxable是否为真,如果为真,则用另一条select语句增加营业税。最后将total结果保存到ototal中。

调用结果如下:

检查存储过程

SHOW  CREATE  PROCEDURE  过程名

为了获得包括何时、由谁创建等详细信息的存储过程列表,使用

Show procedure status  -- 会列出所有存储过程

可以添加过滤,比如

存储过程循环语句

1. while

WHILE (表达式)  DO 

...

END WHILE

看一个例子

创建了一个循环存储过程,重复向human插入5条记录。下面调用看一下结果

2.repeat

基本语句:

Repeat ...until 条件...END  Repeat;

同样 *** 作,使用repeat执行如下


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5901699.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-07
下一篇 2023-03-07

发表评论

登录后才能评论

评论列表(0条)

保存