第七章上机

USE MySchool  
GO  
EXEC sp_columns Student  --查看表Student中列的信息  
EXEC sp_help Student  --查看表Student的所有信息  
EXEC sp_helpconstraint Student --查看表Student的约束  
  
  
  
  
/*---创建存储过程----*/  
CREATE PROCEDURE usp_grade_subject  
AS   
   SELECT GradeName,SubjectName,ClassHour FROM Grade   
   INNER JOIN Subject  
   ON Grade.GradeId=Subject.GradeId  
   ORDER BY Subject.GradeId,SubjectNo  
GO  
/*---调用执行存储过程---*/  
EXEC usp_grade_subject   
  
  
  
  
  
CREATE PROCEDURE usp_query_subject  
  @GradeName VARCHAR(50) = NULL  
AS   
  IF @GradeName IS NULL  
    SELECT GradeName,SubjectName,ClassHour FROM Grade   
    LEFT JOIN Subject   ON Grade.GradeId=Subject.GradeId   
    UNION   
    SELECT GradeName,' ',SUM(ClassHour)FROM Grade  
    LEFT JOIN Subject  ON Grade.GradeId=Subject.GradeId   
    GROUP BY GradeName  
  ELSE  
    SELECT GradeName,SubjectName,ClassHour FROM Grade  
    LEFT JOIN Subject  ON Grade.GradeId=Subject.GradeId   
    WHERE GradeName=@GradeName  
    UNION  
    SELECT GradeName,' ',SUM(ClassHour)FROM Grade  
    LEFT JOIN Subject  ON Grade.GradeId=Subject.GradeId   
    WHERE GradeName=@GradeName  
    GROUP BY GradeName  
GO  
  
  
EXEC usp_query_subject 's2'  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
CREATE PROCEDURE usp_query_subject  
   @CourseNum INT OUTPUT,    
   @HourNum INT OUTPUT,    
   @GradeName VARCHAR(50)  
AS   
    IF LEN(@GradeName) = 0  
       BEGIN  
          PRINT '学期名称不能为空'  
          RETURN  
       END  
    PRINT '---------学期课程信息如下------------'  
    SELECT GradeName,SubjectName,ClassHour FROM Grade   
    LEFT JOIN Subject ON Grade.GradeId=Subject.GradeId   
    WHERE GradeName=@GradeName  
  
    SELECT @CourseNum=COUNT(0), @HourNum=SUM(ClassHour)  
    FROM  Grade  
    INNER JOIN Subject ON Grade.GradeId=Subject.GradeId   
    WHERE GradeName=@GradeName  
GO  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值