存储过程是一组为了完成特定功能的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
接着得到下面的结果: