欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2022-06-12 14:51:42
...
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