mysql 第10 天

变量

1 定义 declare

DECLARE var_name[,...] type [DEFAULT value]

例如,定义一个 DATE 类型的变量,名称是 last_month_start:

DECLARE last_month_start DATE;

2 赋值

直接赋值   SET var_name = expr [, var_name = expr] ...

查询结果赋值   SELECT col_name[,...] INTO var_name[,...] table_expr

3  定义条件和处理

定义:

DECLARE condition_name CONDITION FOR condition_value

condition_value:
                    SQLSTATE [VALUE] sqlstate_value
             | mysql_error_code

条件的处理:

DECLARE handler_type HANDLER FOR condition_value[,...] sp_statement

handler_type:
                  CONTINUE
         | EXIT
         | UNDO

     condition_value:

                       SQLSTATE [VALUE] sqlstate_value
              | condition_name
              | SQLWARNING
              | NOT FOUND
              | SQLEXCEPTION
              | mysql_error_code

可以看看P157

光标的使用

在存储过程和函数中,使用光标对结果进行循环的处理

 声明光标:
DECLARE cursor_name CURSOR FOR select_statement
 OPEN 光标:
OPEN cursor_name
 FETCH 光标:
FETCH cursor_name INTO var_name [, var_name] ...
 CLOSE 光标:
CLOSE cursor_name

P159 页


流程控制

1 IF句

2  case语句






3  loop语句


4    leave语句

通常和 BEGIN ... END 或者循环一起使用

下面是一个使用 LOOP 和 LEAVE 的简单例子,循环 100 次向 actor 表中插入记录,当插入 100
条记录后,退出循环:




5  iterate语句

用在循环中,作用是跳过当前循环的剩下语句,直接进入下一循环。

6  repeat 语句

有条件的循环控制语句,当满足条件的时候退出循环


7  while语句


小结

本章主要介绍了存储过程和函数的创建、修改的方式,存储过程、函数的适用场合,并介绍
了存储过程和函数中的变量、条件和处理、光标、流程控制的定义和使用,这些对初学者编
写简单的存储过程和函数会有所帮助。虽然使用变量、条件和处理、光标和流程控制可以编
写功能强大的存储过程和函数,并进行复杂的逻辑处理,但是由于篇幅问题,本章并没有对
这部分内容进行深入,读者如果有兴趣的话,可以查询在线的 MySQL 文档获得帮助。
最后要强调的是,存储过程和函数的优势是可以将数据的处理放在数据库服务器上进行,避
免将大量的结果集传输给客户端,减少数据的传输,但是在数据库服务器上进行大量的复杂
运算也会占用服务器的 CPU,造成数据库服务器的压力,所以不要在存储过程和函数中进行
大量的复杂运算,应尽量将这些运算操作分摊到应用服务器上执行。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值