Mysql实例浅谈MySQL存储过程中declare和set定义变量的区别
《Mysql实例浅谈MySQL存储过程中declare和set定义变量的区别》要点: 在存储过程中常看到declare定义的变量和@set定义的变量.简单的来说,declare定义的类似是局部变量,@set定义的类似全局变量.MYSQL数据库 1、declare定义的变量类似java类中的局部变量,仅在类中生效.即只在存储过程中的begin和end之间生效.MYSQL数据库 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变量初始化.MYSQL数据库 SET @b=1; MYSQL数据库 (3)然后重复调用这个存储过程.MYSQL数据库 CALL temp();MYSQL数据库 (4)会发现a的值不改变,而b的值会一直增加.MYSQL数据库 所以,总结起来便是开头那句话,@set定义的类似全局变量.MYSQL数据库 以上这篇浅谈MySQL存储过程中declare和set定义变量的区别便是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持编程之家PHP.MYSQL数据库 欢迎参与《Mysql实例浅谈MySQL存储过程中declare和set定义变量的区别》讨论,分享您的想法,编程之家 52php.cn为您提供专业教程。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Mysql必读win10上如何安装mysql5.7.16(解压缩版)
- Mysql应用MySQL的一些功能实用的Linux shell脚本分享
- Mysql入门linux mysql 报错:MYSQL:The server quit withou
- mysql – SQLSTATE [HY000] [1045]访问被拒绝用户’root’
- mysql – 使用where子句将单个值插入到列中
- Mysql实例linux mysql5.6版本的安装配置过程
- php – 是否有一个规范化的表单来表示来自不同表的多个对象
- 技术文章——《Mysql集群架构》
- Mysql学习MySQL 自定义函数CREATE FUNCTION示例
- mysql char、varchar、text等字符串类型定义Mysql必读