--
写存储过程及调用存储过程
/*1.
写出创建分数存储过程用于计算某门课程成绩最高分、最低分、
平均分
,
参数课程号。
*/
use xsgl
go
create procedure aa(@
课程名
nchar(16))
as
begin
select
课程号
,
最高分
=max(
成绩
),
最低分
=min(
成绩
),
平均分
=avg(
成绩
) from
成绩
where
课程号
= @
课程名
group by
课程号
end
go
execute aa '001'
--2.
写出统计某门课选人数的存储过程,输入参数课程号,输出参数人数。
use xsgl
go
create procedure bb @
课程号
char(10),@
人数
int output
as
begin
select @
人数
=(select count(
课程号
)from
成绩
where
课程号
=@
课程号
)
end
declare @
人数
int,@
课程号
char(4)
set @
课程号
='002'
exec bb @
课程号
,@
人数
output
print '
课程号为
'+@
课程号
+'
的人数:
'+cast(@
人数
as char(2))
/*3.
创建存储过程
,
要求根据学生姓名查看学生的籍贯
.
(
要求
:
在存储过程里定义两个参数
,
第一个接收由调用程序指定的输入值
(
学生姓名
),
第二个参数用于将该值返回调用程序
)*/
use xsgl
go
create procedure cc(@
姓名
char(10),@
籍贯
char(10) output)
as
begin
select @
籍贯
=(select
籍贯
from
学生
where
姓名
=@
姓名
)
end
declare @
姓名
char(10),@
籍贯
char(10)