加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL存储过程in、out、inout的特性

发布时间:2020-12-12 02:17:42 所属栏目:MySql教程 来源:网络整理
导读:编程之家 jb51.cc MySQL 存储过程参数有三种类型:in、out、inout。它们各有什么作用和特点呢?今天我们就来一一的分析与讲解一下,希望对各位站长和网络工程师有所帮助。 一、MySQL 存储过程参数(in) MySQL 存储过程 in 参数:跟 C 语言的函数参数的值传

  编程之家 52php.cn MySQL 存储过程参数有三种类型:in、out、inout。它们各有什么作用和特点呢?今天我们就来一一的分析与讲解一下,希望对各位站长和网络工程师有所帮助。

一、MySQL 存储过程参数(in)
MySQL 存储过程 “in” 参数:跟 C 语言的函数参数的值传递类似, MySQL 存储过程内部可能会修改此参数,但对 in 类型参数的修改,对调用者(caller)来说是不可见的(not visible)。

drop procedure if exists pr_param_in;
create procedure pr_param_in
(
in id int -- in 类型的 MySQL 存储过程参数
)
begin
if (id is not null) then
set id = id + 1;
end if;
select id as id_inner;
end;

set @id = 10;
call pr_param_in(@id);
select @id as id_out;

mysql> call pr_param_in(@id);
+----------+
| id_inner |
+----------+
| 11 |
+----------+
mysql> select @id as id_out;
+--------+
| id_out |
+--------+
| 10 |
+--------+

可以看到:用户变量 @id 传入值为 10,执行存储过程后,在过程内部值为:11(id_inner),但外部变量值依旧为:10(id_out)。

(编辑:李大同)

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

    推荐文章
      热点阅读