时间:2021-05-23
在存储过程中常看到declare定义的变量和@set定义的变量。简单的来说,declare定义的类似是局部变量,@set定义的类似全局变量。
1、declare定义的变量类似java类中的局部变量,仅在类中生效。即只在存储过程中的begin和end之间生效。
2、@set定义的变量,叫做会话变量,也叫用户定义变量,在整个会话中都起作用(比如某个应用的一个连接过程中),即这个变量可以在被调用的存储过程或者代码之间共享数据。如何理解呢?可以看下面这个简单例子,很好理解。
(1)先执行下面脚本,创建一个存储过程,分别有declare形式的变量和@set形式的变量
(2)接着为b变量初始化。
SET @b=1;
(3)然后重复调用这个存储过程。
CALL temp();
(4)会发现a的值不改变,而b的值会一直增加。
所以,总结起来就是开头那句话,declare定义的类似是局部变量,@set定义的类似全局变量。
以上这篇浅谈MySQL存储过程中declare和set定义变量的区别就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
declare@LikeSqlnvarchar(32);--定义一个like变量,如果是存储过程,此处可以存储过程的参数set@LikeSql=‘somewor
本文实例讲述了mysql存储过程之创建(CREATEPROCEDURE)和调用(CALL)及变量创建(DECLARE)和赋值(SET)操作方法。分享给大家供大家
昨天我们讲了mysql存储过程创建修改与删除,下面我们这篇教程是讲关于mysql存储过程中变量的定义赋值操作哦。一、变量的定义mysql中变量定义用declar
一、概述变量在存储过程中会经常被使用,变量的使用方法是一个重要的知识点,特别是在定义条件这块比较重要。mysql版本:5.6二、变量定义和赋值#创建数据库DRO
声明变量设置全局变量set@a='一个新变量';在函数和储存过程中使用的变量decleardeclearaintunsigneddefault1;这种变量需要设