热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

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

Mysql那些事儿之(十三)变量、条件的使用相关链接:Mysql那些事儿之(一)mysql的安装http://www.2cto.com/database/201210/162314.html;Mysql那些事儿之(二)有关数据库的操作http://www.2cto.com/database/2012...

Mysql那些事儿之(十三)变量、条件的使用
 
相关链接:
Mysql那些事儿之(一)mysql的安装
http://www.2cto.com/database/201210/162314.html;
Mysql那些事儿之(二)有关数据库的操作
http://www.2cto.com/database/201210/162315.html
Mysql那些事儿之(三)有关数据表的操作
http://www.2cto.com/database/201210/162316.html;
Mysql那些事儿之(四)数据表数据查询操作
http://www.2cto.com/database/201210/162317.html;
Mysql那些事儿之(五)操作时间
http://www.2cto.com/database/201210/162318.html;
Mysql那些事儿之(六)字符串模式匹配
http://www.2cto.com/database/201210/163969.html;
Mysql那些事儿之(七)深入select查询
http://www.2cto.com/database/201210/163970.html;
Mysql那些事儿之(八)索引
http://www.2cto.com/database/201210/163971.html;
Mysql那些事儿之(九)常用的函数
http://www.2cto.com/database/201210/164229.html;
Mysql那些事儿之(十)触发器一
http://www.2cto.com/database/201210/164516.html;
Mysql那些事儿之(十一)触发器二
http://www.2cto.com/database/201210/164766.html;
Mysql那些事儿之(十二)存储过程
http://www.2cto.com/database/201210/164795.html
 
存储过程中可以使用变量、条件
1.定义变量  www.2cto.com  
通过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代码  
--示例 将查询结果给变量赋值  
   www.2cto.com  
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 表示执行中止。
 

推荐阅读
  • 本文由公众号【数智物语】(ID: decision_engine)发布,关注获取更多干货。文章探讨了从数据收集到清洗、建模及可视化的全过程,介绍了41款实用工具,旨在帮助数据科学家和分析师提升工作效率。 ... [详细]
  • Windows环境下Oracle数据库迁移实践
    本文详细记录了一次在Windows操作系统下将Oracle数据库的控制文件、数据文件及在线日志文件迁移至外部存储的过程,旨在为后续的集群环境部署做好准备。 ... [详细]
  • 本文详细介绍了如何使用SQL*Plus连接Oracle数据库以及使用MySQL客户端连接MySQL数据库的方法,包括基本命令和具体操作步骤。 ... [详细]
  • PHP中Smarty模板引擎自定义函数详解
    本文详细介绍了如何在PHP的Smarty模板引擎中自定义函数,并通过具体示例演示了这些函数的使用方法和应用场景。适合PHP后端开发者学习。 ... [详细]
  • 【MySQL】frm文件解析
    官网说明:http:dev.mysql.comdocinternalsenfrm-file-format.htmlfrm是MySQL表结构定义文件,通常frm文件是不会损坏的,但是如果 ... [详细]
  • 本文深入探讨了MySQL中的高级特性,包括索引机制、锁的使用及管理、以及如何利用慢查询日志优化性能。适合有一定MySQL基础的读者进一步提升技能。 ... [详细]
  • 将XML数据迁移至Oracle Autonomous Data Warehouse (ADW)
    随着Oracle ADW的推出,数据迁移至ADW成为业界关注的焦点。特别是XML和JSON这类结构化数据的迁移需求日益增长。本文将通过一个实际案例,探讨如何高效地将XML数据迁移至ADW。 ... [详细]
  • 本文探讨了如何使用Scrapy框架构建高效的数据采集系统,以及如何通过异步处理技术提升数据存储的效率。同时,文章还介绍了针对不同网站采用的不同采集策略。 ... [详细]
  • 本文探讨了MySQL中的死锁现象及其监控方法,并介绍了如何通过配置和SQL语句调整来优化数据库性能。同时,还讲解了慢查询日志的配置与分析技巧。 ... [详细]
  • 数据输入验证与控件绑定方法
    本文提供了多种数据输入验证函数及控件绑定方法的实现代码,包括电话号码、数字、传真、邮政编码、电子邮件和网址的验证,以及报表绑定和自动编号等功能。 ... [详细]
  • 本文介绍了MySQL窗口函数的基本概念、应用场景及常见函数的使用方法。窗口函数在处理复杂查询时非常有用,例如计算每个用户的订单排名、环比增长率、以及动态聚合等。 ... [详细]
  • 本文提供了处理WordPress网站中出现过多重定向问题的方法,包括检查DNS配置、安装SSL证书以及解决数据库连接错误等步骤。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 解决ADODB连接Access时出现80004005错误的方法
    本文详细介绍了如何解决在使用ADODB连接Access数据库时遇到的80004005错误,包括错误原因分析和具体的解决步骤。 ... [详细]
  • binlog2sql,你该知道的数据恢复工具
    binlog2sql,你该知道的数据恢复工具 ... [详细]
author-avatar
mobiledu2502920795
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有