Rumah  >  Artikel  >  pangkalan data  >  Mysql那些事儿之(十三)变量、条件的使用_MySQL

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

WBOY
WBOYasal
2016-06-01 13:38:571251semak imbas

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
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn