MySql(15)------mysql存储过程IN,OUT,INOUT参数模式使用详解
来源:互联网 发布:vb timer控件的使用 编辑:程序博客网 时间:2024/06/11 20:49
MySql存储过程参数有IN, OUT, INOUT三种模式。
实例准备条件:
创建表:
CREATE TABLE `t_user_main` ( `f_userId` int(10) NOT NULL AUTO_INCREMENT COMMENT '用户id,作为主键', `f_userName` varchar(5) DEFAULT NULL COMMENT '用户名', `f_age` int(3) DEFAULT NULL COMMENT '年龄', PRIMARY KEY (`f_userId`)) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
插入数据:
INSERT INTO t_user_main (f_userName, f_age) VALUES('one',24),('two',25),('three',26),('four',27),('five',28),('six',29);
************IN模式 : 参数输入模式
eg:
DELIMITER $$ # 定界符CREATE PROCEDURE user_main_pro1(IN v_id INT)BEGIN #定义变量 DECLARE v_userName VARCHAR(50); #通过select...into...给变量赋值 SELECT f_userName INTO v_userName FROM t_user_main WHERE f_userId = v_id; #执行DDL语句 INSERT INTO t_user_main (f_userName) VALUES (v_userName);END $$ #存储过程创建结束DELIMITER; #恢复mysql分号定界符
调用:
************OUT模式 : 参数输出模式
eg:
DELIMITER $$CREATE PROCEDURE user_main_pro2(OUT v_count INT)BEGIN SELECT COUNT(*) INTO v_count FROM t_user_main;END $$DELIMITER调用:
定义存储过程user_main_pro2用于计算t_user_main表的用户总数,处理完后通过参数out模式返回处理结果,
命令窗口通过set @v_count = 1;定义变量并初始化,通过定义的变量去接受存储过程处理完成out输出的结果,
最后通过select @v_count查看接受后的变量值,也即是存储过程处理完成的结果。
************INOUT模式 : 作为输入和输出模式
eg:
DELIMITER $$CREATE PROCEDURE user_main_pro3(INOUT v_id INT)BEGIN # 定义变量 DECLARE v_count INT(11); # 判断 IF v_id > 3 THEN SET v_count = 100; ELSE SET v_count = 500; END IF; # 返回赋值 SET v_id = v_count;END $$DELIMITER;
回调:
新建存储过程user_main_pro3,参数模式为INOUT模式,该模式参数既作为输入,也可作为输出。
定义一个变量 set @v_count=1,通过call user_main_pro3(@v_count)调用函数,
将参数@v_count输入后满足判断的else,存储过程处理结果为500,同时也通过
变量@v_count接受存储过程处理的结果。
所以,INOUT模式参数既可以作为输入,也可以作为输出。
0 0
- MySql(15)------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
- MySQL 存储过程参数用法 in, out, inout
- MySQL 存储过程参数用法 in, out, inout
- mysql 存储过程参数 in out inout 特点
- MySQL 存储过程参数用法 in, out, inout
- MySQL存储过程 IN,OUT,INOUT
- mysql存储过程的in,out,inout
- mysql存储过程中in、out、inout参数使用实际案例
- mysql中的存储过程之无参数,in、out、inout参数的讲解
- oracle 存储过程in out inout三种参数模式
- oracle 存储过程in out inout三种参数模式
- MySQL——存储过程参数in,out,inout的作用
- html底部div固定在底部
- 计算数组中各类型的数有几种,分别是什么
- 英飞凌无人机从入门到起飞前的问题及总结
- NavigationView报错
- PHP根据经纬度,计算2点之间的距离的2种方法
- MySql(15)------mysql存储过程IN,OUT,INOUT参数模式使用详解
- HDU 1632 Polygons (凸包)
- 价格标签
- ActionErrors 使用说明 struts validate 处理流程
- KVC, KVO实现原理剖析
- 2016.08.23工作日志
- filter:alpha(opacity=50)不兼容IE
- vsftpd虚拟账户(虚拟用户,ubuntu16,舍弃虚拟用户配置文件)
- iOS RSA公钥加密、私钥解密