Home  >  Article  >  Database  >  Mysql那些事儿之(十三)变量、条件的使用_MySQL

Mysql那些事儿之(十三)变量、条件的使用_MySQL

WBOY
WBOYOriginal
2016-06-01 13:38:571223browse

bitsCN.com


Mysql那些事儿之(十三)变量、条件的使用

 

相关链接:

Mysql那些事儿之(一)mysql的安装

http:///database/201210/162314.html;

Mysql那些事儿之(二)有关数据库的操作

http:///database/201210/162315.html;

Mysql那些事儿之(三)有关数据表的操作

http:///database/201210/162316.html;

Mysql那些事儿之(四)数据表数据查询操作

http:///database/201210/162317.html;

Mysql那些事儿之(五)操作时间

http:///database/201210/162318.html;

Mysql那些事儿之(六)字符串模式匹配

http:///database/201210/163969.html;

Mysql那些事儿之(七)深入select查询

http:///database/201210/163970.html;

Mysql那些事儿之(八)索引

http:///database/201210/163971.html;

Mysql那些事儿之(九)常用的函数

http:///database/201210/164229.html;

Mysql那些事儿之(十)触发器一

http:///database/201210/164516.html;

Mysql那些事儿之(十一)触发器二

http:///database/201210/164766.html;

Mysql那些事儿之(十二)存储过程

http:///database/201210/164795.html

 

存储过程中可以使用变量、条件

1.定义变量    

通过DECLARE可以定义一个变量,不过是局部的。它的作用范围只能在BEGIN...END有效,可以用在嵌套的块中;当然可以用default设置默认值。

Sql代码  

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

示例:定义一个变量

Sql代码  

DECLARE last_day_start DATE --定义一个DATE型的变量,名称为last_day_start  

2.变量赋值

可以直接赋值,可以查询赋值。

Sql代码  

--直接赋值使用set,可以赋常量或者赋表达式  

--语法格式  

SET var_name = expr [,var_name = expr.....]  

示例:给上面定义的变量赋值

Sql代码  

SET last_day_start = DATE_SUB(CURRENT_DATE(),INTERVAL 1 MONTH) --给变量赋值  

          通过查询给变量赋值

Sql代码  

--通过查询给变量赋值  

--语法格式  

SELECT col_name[,...] INTO var_name [,....] table_expr  

Sql代码  

--示例 将查询结果给变量赋值  

     

Sql代码  

DECLARE v_payment DECIMAL(5,2); --定义一个变量  

--使用查询给变量赋值  

SELECT IFNULL(SUM(payment.amount),0) INTO v_payment FROM payment  

 3.条件的定义

Sql代码  

--定义条件的语法格式  

DECLARE condition_name CONDITION FOR condition_value  

  

condition_value:  

           SQLSTATE [VALUE] sqlstate_value  

      | mysql_error_code  

 4.条件的处理

Sql代码  

---条件的处理  

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

  

handler_type:  

               CONTINUE | EXIT | UNDO  

  

condition_value:  

               SQLSTATE [VALUE]  

           | condition_name  

           | SQLWARNING  

           | NOT FOUND  

           | SQLEXCEPTION  

           | mysql_error_code  

 示例:

Sql代码  

DECLARE CONTINUE HANDLER FOR SQLSTATE '23000' SET @x2=1  

 CONTINUE 表示继续向下执行;

 EXIT 表示执行中止。
 

bitsCN.com
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn