mysql 存储过程 容器参数_mysql存储过程中的参数应用

本文介绍了MySQL存储过程的参数类型(IN、OUT、INOUT),如何使用输入参数和用户定义变量,以及流程控制结构(分支与循环)的使用方法。重点讲解了参数传递和返回,以及避免潜在问题的注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、存储过程参数的应用

存储过程可以有0个、1个或多个参数。

MySQL存储过程支持三种类型的参数:

输入参数  IN:输入参数使数据可以传递给一个存储过程。

输出参数  OUT:当需要返回一个答案或结果的时候,存储过程使用输出参数。

输入输出参数 INOUT:输入\输出参数既可以充当输入参数也可以充当输出参数。

存储过程可以不加参数,但是名称后面的括号是不可以省略的。

注意:参数的名字不要等于列的名字,否则虽然不会返回出错信息,但是存储过程中的SQL语句会将参数的名看做列名,从而引发不可预知的结果。

1)IN 输入形参参数的使用

set  @x=3;

select @x;

调用必须有对应的实参(类型、数量)将信息带入到存储过程

create procedure p10(IN para1  int) set @x=para1;

create procedure p10(para1 int) set @x=para1;

call p10(18);

select  @x;

2)用户定义变量:声明开始set @x=3;

到断开连接结束

不能和其他用户共享

3)OUT 输出形参的使用

用一个变量(实参位置)保存存储过程中返回的结果

create procedurep14(OUT  para1  int)

begin

set para1=10;

end//

错误的:

call p14(x);

select x;

正确的:

call p14(@x);

select @x;

二、流程控制结构

1)分支结构

语法:

IF  条件1  THEN    语句集合

{ELSEIF   条件2   THEN    语句集合}

{ELSE     语句集合}

END IF;

注意:

形参中的变量如果和存储过程中的局部变量同名,会“覆盖”;

2)循环结构:

While….END WHILE

LOOP…END LOOP

REPEAT…END REPEAT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值