MySql存储过程—4、参数

1、参数分类

参数,同编程一样,MySql中存储过程也可以带参数,前面的例子中我们没有使用参数,在下面的例子中我们将使用到参数;MySql的参数分为三类:IN、OUT、INOUT,即使是字面上这三种类型的参数也很好理解:

    ——IN:这是个默认的类型,也就是如果参数没指定类型的话,那么默认就是IN类型了,这种参数主要是传递进去的值,这个值提供给存储过程使用,另外存储过程对其做的改变不会对传入的参数发生作用。

    ——OUT:这个主要是存储过程要传递出去的值,也就是存储过程给你将它改变,并且传回去给调用它的程序。

    ——INOUT:则把上面两个的特点合在一起了,即可以传递值给存储过程使用,同时存储过程也可以改变这个值在传给调用它的程序。

2、参数定义

参数的定义如下:

MODE param_name param_type(param_size);

这里MODE可以是IN、OUT、INOUT;param_name就是参数名称;param_type则是类型。当然要注意的是名字不能和表格里的字段重名。


看看下面的使用例子:

这个例子里面,我们对存储过程传入了一个参数,这里参数是个字符串,我们希望通过这个存储过程来列出products表格中name字段中包含有传入的字符串的记录。这里数据主要用途就是传给存储过程使用,所以使用IN。下面是对应的执行结果:

注意到传递给了GetAll这个存储过程一个数据为“ca”的参数

在这个基础上我们把记录数作为存储过程输出给外部的数据来看一下OUT的使用。

上面把记录数保持到输出参数 totalNum中。

这里使用一个会话变量作为输出参数,存储过程处理后,保持记录速到@totalRecords中。然后我们运行select @totalRecords,输出为2。

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值