mysql中存储过程,inout参数无法返回值

mysql中存储过程,inout参数无法返回值?
mysql存储过程中,使用SELECT给变量赋值的方式,貌似不支持返回!
知道的小伙伴们,不吝赐教,着急
看图:
图片说明
图片说明
图片说明

1个回答

这个是没有搞清楚变量的作用域的原因.

select @number3 := number3 * 2;

这行代码创建了一个会话作用域的变量number3, 值是赋值到会话变量的作用域中. 最终的@num3当然不会对

czh500
冷囧囧 会话变量 #方式1 SET @@session.autocommit = 0; #省略session关键字 SET @@autocommit = 0; #方式2 SET SESSION autocommit = 0; #省略SESSION关键字 SET autocommit = 0;
一年多之前 回复
czh500
冷囧囧 用户变量 SET @变量名=值; SET @变量名:=值; SELECT @变量名:=值;
一年多之前 回复
czh500
冷囧囧 局部变量是可以这样赋值的,SET 局部变量名=值;或 SET 局部变量名:=值;或 SELECT @局部变量名:=值;
一年多之前 回复
czh500
冷囧囧 #2》局部变量 /* 作用域:仅仅在定义它的begin end块中有效 应用在 begin end中的第一句话 */ #1.声明(要求指定数据类型,可以只声明,不初始化) DECLARE 变量名 类型; DECLARE 变量名 类型 【DEFAULT 值】; #2.赋值(更新变量的值) #方式一: SET 局部变量名=值;或 SET 局部变量名:=值;或 SELECT @局部变量名:=值; #方式二: SELECT 字段 INTO 局部变量名 FROM 表; #3.使用(查看变量的值) SELECT 局部变量名; 作用域 定义位置 语法 用户变量 当前会话 会话的任何地方 加@符号,不用指定类型 局部变量 定义它的BEGIN END中 BEGIN END的第一句话 一般不用加@,需要指定类型
一年多之前 回复
czh500
冷囧囧 这是我的学习笔记,局部变量的知识点如下:
一年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐