首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

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

2012-11-11 
Mysql那些事儿之(十三)变量、条件的使用存储过程中可以使用变量、条件1.定义变量通过DECLARE可以定义一个变

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

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

1.定义变量

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

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

示例:定义一个变量

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

2.变量赋值

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

--直接赋值使用set,可以赋常量或者赋表达式--语法格式SET var_name = expr [,var_name = expr.....]

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

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

??????????通过查询给变量赋值

--通过查询给变量赋值--语法格式SELECT col_name[,...] INTO var_name [,....] table_expr
--示例 将查询结果给变量赋值

?

DECLARE v_payment DECIMAL(5,2); --定义一个变量--使用查询给变量赋值SELECT IFNULL(SUM(payment.amount),0) INTO v_payment FROM payment

?3.条件的定义

--定义条件的语法格式DECLARE condition_name CONDITION FOR condition_valuecondition_value:           SQLSTATE [VALUE] sqlstate_value      | mysql_error_code

?4.条件的处理

---条件的处理DECLARE handler_type HANDLER FOR condition_value [,....] sp_statementhandler_type:               CONTINUE | EXIT | UNDOcondition_value:               SQLSTATE [VALUE]           | condition_name           | SQLWARNING           | NOT FOUND           | SQLEXCEPTION           | mysql_error_code

?示例:

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

?CONTINUE 表示继续向下执行;

?EXIT 表示执行中止。

?

热点排行