在存储过程中常看到declare定义的变量和@set定义的变量。简单的来说,declare定义的类似是局部变量,@set定义的类似全局变量。

1、declare定义的变量类似java类中的局部变量,仅在类中生效。即只在存储过程中的begin和end之间生效。

2、@set定义的变量,叫做会话变量,也叫用户定义变量,在整个会话中都起作用(比如某个应用的一个连接过程中),即这个变量可以在被调用的存储过程或者代码之间共享数据。如何理解呢?可以看下面这个简单例子,很好理解。

(1)先执行下面脚本,创建一个存储过程,分别有declare形式的变量和@set形式的变量 DROP PROCEDURE IF EXISTS temp;

DELIMITER //

CREATE PROCEDURE temp()

BEGIN

DECLARE a INT DEFAULT 1;

SET a=a+1;

SET @b=@b+1;

SELECT a,@b;

END

//

DELIMITER ;

(2)接着为b变量初始化。

SET @b=1;

(3)然后重复调用这个存储过程。

CALL temp();

(4)会发现a的值不改变,而b的值会一直增加。

所以,总结起来就是开头那句话,declare定义的类似是局部变量,@set定义的类似全局变量。

以上这篇浅谈MySQL存储过程中declare和set定义变量的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持聚米学院。

mysql存储过程set什么意思_浅谈MySQL存储过程中declare和set定义变量的区别相关推荐

  1. mysql declare与set的区别_浅谈MySQL存储过程中declare和set定义变量的区别

    在存储过程中常看到declare定义的变量和@set定义的变量.简单的来说,declare定义的类似是局部变量,@set定义的类似全局变量. 1.declare定义的变量类似java类中的局部变量,仅 ...

  2. mysql事务的管理方式_浅谈MySQL事务管理(基础)

    本篇文章给大家带来的内容是浅谈MySQL事务管理(基础),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助.事务处理用来维护数据库等完整性,保证mysql操作要么成功,要么失败(myisa ...

  3. MySQL子查询的优缺点_浅谈mysql的子查询

    浅谈mysql的子查询 mysql的子查询的优化一直不是很友好,一直有受业界批评比较多,也是我在sql优化中遇到过最多的问题之一,你可以点击这里 ,这里来获得一些信息,mysql在处理子查询的时候,会 ...

  4. mysql自定义函数的优缺点_浅谈MySQL创建自定义函数漏洞的利用和防止

    前一阵子网上风靡的MySQL的udf.dll提权我有所了解-近日由于不再在IDC行业工作了-所以也有所淡忘- 只是最近实在手痒,就决定对我的站点所在的服务器下手--.正好用上这招了- 站点的服务器是W ...

  5. mysql锁的应用场景_浅谈Mysql共享锁、排他锁、悲观锁、乐观锁及其使用场景

    Mysql共享锁.排他锁.悲观锁.乐观锁及其使用场景 一.相关名词 |--表级锁(锁定整个表) |--页级锁(锁定一页) |--行级锁(锁定一行) |--共享锁(S锁,MyISAM 叫做读锁) |-- ...

  6. mysql笛卡尔积查询很慢_浅谈MySQL使用笛卡尔积原理进行多表查询

    我就废话不多说了,大家还是直接看代码吧~create or replace function aa1(a1 integer[],a2 bigint) returns void AS $$declare ...

  7. mysql inner和left优化_浅谈mysql中的left join和inner join性能及优化策略

    前言 看一下 下面的sql语句:select * from a left join b on a.x = b.x left join c on c.y = b.y 这样的多个left join组合的时 ...

  8. 支付宝的数据库是MySQL变种_浅谈MySql的储存引擎(表类型)

    浅谈mysql的存储引擎(表类型) 什么是MySql数据库 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合. 我们通常说的MySql数据库, ...

  9. mysql 用户通配符_浅谈mysql通配符进行模糊查询的实现方法

    在mysql数据库中,当我们需要模糊查询的时候 ,我们会使用到通配符. 首先我们来了解一下2个概念,一个是操作符,一个是通配符. 操作符 like就是SQL语句中的操作符,它的作用是指示在SQL语句后 ...

最新文章

  1. 1045 Favorite Color Stripe(LCS解法) 需再理解
  2. Oracle表空间文件损坏后的排查及解决
  3. Java:使用匿名内部类在方法内部定义并启动线程
  4. linux云服务终端提示符显示-bash-4.2#解决方法
  5. abs期刊分类2020_收藏:中科院期刊最新分区来了!| 附516本生物医学等五大领域一区汇总...
  6. 学习总结5 - bootstrap学习记录1__安装
  7. Android学习---通过内容提供者(ContentProvider)操作另外一个应用私有数据库的内容...
  8. 浅谈C++物理设计:实用宏
  9. Java内部类相关问题的总结与体会
  10. Eclipse安装SVN插件三种方式
  11. shl归纳推理测试题库_强生2020秋招笔试面试经验合集
  12. 通达信公式解密工具5.05
  13. 数据库基础-update语句详解
  14. 解读“统一价格分评审方法”
  15. MFC API 设置Excel单元格格式
  16. python人民币和美元转换-【菜鸟学Python】案例一:汇率换算
  17. 中望CAD的引线标注格式怎么改_大神说这样学CAD命令,超容易掌握
  18. pool(一)——入门
  19. 微信蓝牙设备服务器,微信又更新了 支持连接蓝牙设备
  20. Windows XP Service Pack 3 (Windows XP SP3)简体中文版本正式发布(附下载地址)

热门文章

  1. Mui框架支持微信支付宝支付源代码
  2. excel根据条件列转行_“Excel怎样将列转为行 Excel列转行方法“excel有条件转置
  3. android 音乐播放 圆形进度条
  4. jquery实现表格内容筛选
  5. 大型网站演变中的负载均衡场景,netty实战pdf中文下载
  6. 文件重命名工具renamer下载地址
  7. 警告: 矩阵接近奇异值,或者缩放错误。结果可能不准确
  8. CMDB工具 - iTop安装部署(一发入魂)
  9. python __all__用法
  10. java版史莱姆区块_我的世界史莱姆傀儡