use 教学成绩管理数据库
go

--1.创建存储过错
CREATE PROCEDURE [dbo].[某班同学表] @班名 varchar(20), @人数 int output, @男生人数 int output, @女生人数 int output
as
begin
 select 学号,姓名,性别,联系电话
  from 学生信息表视图
  where 班级=@班名
 select @人数 = count(*) from 学生信息表视图
  where 班级=@班名
 select @男生人数 = count(*) from 学生信息表视图
  where 班级=@班名 and 性别='男'
 select @女生人数 = count(*) from 学生信息表视图
  where 班级=@班名 and 性别='女'
end


--2.调用存储过错
DECLARE @RC int
DECLARE @人数 int
DECLARE @男生人数 int
DECLARE @女生人数 int
EXEC @RC = [dbo].[某班同学表] '03电子商务',
   @人数 OUTPUT , @男生人数 OUTPUT , @女生人数 OUTPUT 
print '人数=' + str(@人数,3,0) + '  男生人数=' + str(@男生人数,3,0) + 
   '   女生人数=' + str(@女生人数,3,0)
EXEC @RC = [dbo].[某班同学表] '03软件技术', 
   @人数 OUTPUT, @男生人数 OUTPUT , @女生人数 OUTPUT 
print '人数=' + str(@人数,3,0) + '  男生人数=' + str(@男生人数,3,0) +
   '   女生人数=' + str(@女生人数,3,0)
go

--3.删除存储过程
drop procedure 某班同学表
