关于存储过程的参数问题

 
     大家在学习存储过程这一章的时候,最容易产生疑问的就是存储过程的输入输出参数问题。
­
    对于存储过程,我们可以把它看作是一个函数,当然它是不同于函数的。sqlServer中也有函数的概念。关于函数这里不作讨论。
­
    存储过程可以用来处理复杂的业务处理,在存储过程中包含有数据操纵语句,流程控制语句(if while)。对数据库中的表进行增删改查。
­
    存储过程可以带有参数,这个参数又分为输入参数和输出参数。定义如下
create proc myproc
@param1 int,
@param2 int output,
as
.........
­
上面的例子中@param1代表输入参数,@param2代表输出参数。如何来理解输入和输出。输入好说,就是在调用的时候给存储过程传递一个值,这个时候进行的是值传递。@param2是输出参数,当存储过程内部运算完成之后,会往@param2里面放入一个值,这个值如何被存储过程的调用者得到呢?其实在我们调用myproc时会用一个变量来接受由存储过程输出的值,如我们要调用上面的存储过程的话,需要这样:
declare @param
execute myproc 50,@param output
指明@param是用来接受存储过程输出的值。这个过程中我们可以把输出参数看作是引用传递,也就是说@param2,与@param公用同一个内存空间。而对于输入参数则可以看作是值传递  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值