MySQL中的IN、OUT、INOUT类型
来源:互联网 发布:vb自动网页弹框 编辑:程序博客网 时间:2024/05/18 00:50
MySQL中存储过程的参数中有IN、OUT、INOUT类型,但是函数的参数只能是IN类型的。
IN类型
使用IN类型来传递信息,存储过程内部可以对参数的值进行修改,但是修改后的值调用者不可见。
delimiter //create procedure pr_test(in id int)beginif (id is not null)then set id = id + 1;end if;select id as in_id;end;//delimiter ;set @id = 10;/*-----运行的结果in_id = 11-----*/call pr_test(@id);/*-----运行的结果in_id = 10-----*/select @id as out_id;
可以看出虽然设置了变量id的值为10,但是在存储过程内部修改了id的值为11,id的值并未返回给调用者。
OUT类型
OUT参数用于传值给调用者,存储过程内部,该值的默认值为NULL,无论调用者是否传值给存储过程
delimiter //create procedure pr_test(out id int)beginif(id is not null)then set id = id + 1;else set id = 0;end if;select id as in_id;end;//delimiter ;set @id = 10;/*-----运行的结果in_id = 0-----*/call pr_test(@id);/*-----运行的结果in_id = 0-----*/select @id as out_id;
可以看出虽然设置了变量id的值为10,但是在存储过程内部id的值为null,最后id的值在存储过程内修改后返回调用者。
INOUT类型
INOUT类型可以向存储过程传递信息,如果值改变,再返回给调用者
delimiter //create procedure pr_test(inout id int)beginif(id is not null)then set id = id + 1;else set id = 0;end if;select id as in_id;end;//delimiter ;set @id = 10;/*-----运行的结果in_id = 11-----*/call pr_test(@id);/*-----运行的结果in_id = 11-----*/select @id as out_id;
可以看出设置了变量id的值为10,在存储内部将id的值修改为11,最后id的值返回给调用者。
2 0
- MySQL中的IN、OUT、INOUT类型
- MySQL存储过程中的IN,OUT,INOUT类型 用法
- MySQL存储过程中的IN,OUT,INOUT类型
- MySQL存储过程中的IN,OUT,INOUT类型 用法
- AIDL中的in,out,inout
- AIDL中的in,out,inout
- MySQL存储过程 IN,OUT,INOUT
- mysql存储过程的in,out,inout
- [Android]AIDL中的in,out,inout理解
- Android AIDL中的in,out,inout含义
- AIDL中的in、out、inout是什么?
- mysql中的存储过程之无参数,in、out、inout参数的讲解
- MySQL:MySQL 存储过程参数用法 in, out, inout
- 【mysql】mysql存储过程in、out、inout参数使用
- MySQL 存储过程参数用法 in, out, inout
- mysql存储过程中参数的in,out,inout区别
- MySQL 存储过程参数用法 in, out, inout(转)
- MySQL 存储过程参数用法 in, out, inout
- 【算法】牛客网模拟题编程部分
- USACO
- artTemplate使用笔记
- the parameter of session timeout
- 创新王国 芬兰 FINLAND
- MySQL中的IN、OUT、INOUT类型
- Java 并发编程知识点学习总结 (1)
- 不发动战争的复仇
- C++ 虚函数表解析
- 单线程和多线程
- 失败的第一次面试——阿里蚂蚁电面
- 真空自动垃圾收集系统的施工及注意事项
- 玲珑OJ1102
- 几种排序算法