存储过程是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。存储过程可包含程序流、逻辑以及多数据库的查询,他们可以接受参数、输出参数、返回单个或者多个结果集以及返回值。
为存储过程参数创建默认值
如下图所示,是我新建的一张学生信息表
我们给存储过程参数设置默认值筛选出所有的三班的学生:
create proc p_student @classNo varchar(10)='三班' as select * from StudentInfo where StuClass = @classNo也就是直接给参数赋值,而不是在调用的时候再赋值,这样在一些固定的数据库操作的时候是很方便的
输入下面的语句:
exec p_student
就会显示下面的查询结果:
带有输出参数的存储过程:
如上图所示,我们再增加score(分数)这一列,下面我们根据学号查询学生的分数,
create proc p_getScore @StuNo varchar(10), @score int output as select @score= Score from StudentInfo where StuNo =@StuNo上面的@score是一个输出参数
接着执行上面的存储过程
declare @SCORE int exec p_getscore @StuNo = '003',@SCORE =@score output print @SCORE
接着得到下面的结果:
![](http://hi.csdn.net/attachment/201202/29/0_1330520332oJZm.gif)