首页
Web开发
Windows程序
编程语言
数据库
移动开发
系统相关
微信
其他好文
会员
首页
>
数据库
> 详细
MySQL 存储过程传参之in, out, inout 参数用法
时间:
2016-09-24 17:41:19
阅读:
219
评论:
0
收藏:
0
[点我收藏+]
标签:
存储过程
传参:存储过程的括号里,可以声明参数。 语法是 create procedure p([in/out/inout] 参数名 参数类型 ..)
in :给参数传入值,定义的参数就得到了值
out:模式定义的参数只能在过程体内部赋值,表示该参数可以将某个值传递回调用他的过程(在存储过程内部,
该参数初始值为 null,无论调用者是否给存储过程参数设置值)
inout:
调用者还可以通过 inout 参数传递值给存储过程,也可以从存储过程内部传值给调用者
如果仅仅想把数据传给 MySQL 存储过程,那就使用“in” 类型参数;
如果仅仅从 MySQL 存储过程返回值,那就使用“out” 类型参数;
如果需要把数据传给 MySQL 存储过程,还要经过一些计算后再传回给我们,此时,要使用“inout” 类型参数。
DELIMITER $$
CREATE
PROCEDURE p1(
IN num
INT)
BEGIN
DECLARE i
INT
DEFAULT 0;
DECLARE total
INT
DEFAULT 0;
WHILE i<=num DO
SET total := i + total;
SET i := i+1;
END WHILE;
SELECT total;
END$$
存储过程传参 out
[sql]
view plain
copy
CREATE
PROCEDURE p2(
OUT num
INT)
BEGIN
SELECT num
AS num_1;
IF (num
IS
NOT
NULL)
THEN
SET num = num + 1;
SELECT num
AS num_2;
ELSE
SELECT 1
INTO num;
END IF;
SELECT num
AS num_3;
END$$
SET @num = 10$$
CALL p2(@num)$$
SELECT @num
AS num_out$$
CREATE
PROCEDURE p3(INOUT age
INT)
BEGIN
SET age := age + 20;
END$$
set @currage =18$$
call p3(@currage)$$
select @currage$$
MySQL 存储过程传参之in, out, inout 参数用法
标签:
原文地址:http://www.cnblogs.com/kabi/p/5903491.html
踩
(
0
)
赞
(
0
)
举报
评论
一句话评论(
0
)
登录后才能评论!
分享档案
更多>
2021年07月29日 (22)
2021年07月28日 (40)
2021年07月27日 (32)
2021年07月26日 (79)
2021年07月23日 (29)
2021年07月22日 (30)
2021年07月21日 (42)
2021年07月20日 (16)
2021年07月19日 (90)
2021年07月16日 (35)
周排行
更多
数据库进阶
2021-07-29
在 Oracle 数据库中执行 SQL 语句遇到特殊字符的转义方式
2021-07-28
Windows Logstash同步 Sqlserver 到Elasticsearch
2021-07-26
mysql数据库(11):恢复数据
2021-07-26
mysql数据库(9):常用查询的例子
2021-07-26
SQLAlchemy 多对多
2021-07-26
ClickHouse的JDBC连接
2021-07-26
Apache HBase 1.7.1 发布,分布式数据库
2021-07-26
数据库常用架构和同步工作原理
2021-07-26
MySQL数据库设计规范(仅供参考)
2021-07-26
友情链接
兰亭集智
国之画
百度统计
站长统计
阿里云
chrome插件
新版天听网
关于我们
-
联系我们
-
留言反馈
© 2014
mamicode.com
版权所有 联系我们:gaon5@hotmail.com
迷上了代码!