加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

mysql存储过程怎样变量赋值

发布时间:2023-05-09 13:59:06 所属栏目:MySql教程 来源:
导读:给大家分享一下mysql存储过程如何变量赋值,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

方法:1、利用set语句变量赋值,语
给大家分享一下mysql存储过程如何变量赋值,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
 
方法:1、利用set语句变量赋值,语法为“set 变量名=值或赋值语句”;2、利用查询语句和into关键字变量赋值,语法为“SELECT c1, c2...INTO @v1, @v2...FROM 表名 WHERE condition”。
 
本教程操作环境:windows10系统、mysql8.0.22版本、Dell G3电脑。
 
MySQL变量赋值就一个坑。这个坑有两种填法。
 
第一种是众所周知的:set 变量名=值/赋值语句
 
第二种是:select … into 变量名 …; 或者 select … into 变量名;
 
第一种,我在网上看很多人说变量名前面要加@符合,但是实际上是不必要的,只有一些特殊情况是必须要@符合,大部分时候不加也不影响存储过程的使用的。
 
例如:
 
set g_grant_ex='gamedb.tb_exchange_';
 
set @g_grant_ex='gamedb.tb_exchange_';
 
/*这其实是一样的效果*/
 
第二种,这个就更坑了。我之前看别人用的是云里雾里。后来动手试了几次才发现。。。。。。。蛮好用的~例子如下
 
列如:
 
1.select count(*) into g_err from information_schema.TABLES t where t.TABLE_SCHEMA='gamedb' and t.TABLE_NAME=concat('tb_recharge_',g_year);
 
2.select count(*) from information_schema.TABLES t where t.TABLE_SCHEMA='gamedb' and t.TABLE_NAME=concat('tb_recharge_',g_year) into g_err;
 
/*这两个效果也是一样的*/
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!