存储过程(Stored Procedure)是一组为了完成特定功能的SQL语句集,经编译后存储在数据库中。存储过程可包含程序流、逻辑以及对数据库的查询。
它们可以接受参数、输出参数、返回单个或多个结果集以及返回值。
创建存储过程:
create procedure mysp1
@Startgrade numeric(4,2)(=10 如果这样写,它就是默认值),@Endgrade numeric(4,2),
--这两个为输入参数,调用时需为其指定值,记住不用想下面的输出参数一样写output,即后面没有input关键字
--来指定它是输入参数
@maxgrade numeric(4,2) output,@mingrade numeric(4,2) output
as
begin
select student.sno,sname,sc.cno,cname,grade
from sc,student,course
where student.sno=sc.sno and course.cno=sc.cno
select @maxgrade=max(grade) ,@mingrade=min(grade) from sc
where grade between @Startgrade and @Endgrade
--两个select语句就是要打印输出的表
end
执行存储过程:
declare @temp1 numeric(4,2),@temp2 numeric(4,2)
execute mysp1 default,90,@maxgrade=@temp1 output,@mingrade=@temp2 output --注意顺序
select @temp1 as '最高成绩',@temp2 as '最低成绩'