sqlsever存储过程

  • T9_600999
    了解作者
  • 899.2KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-06-10 13:38
    上传日期
sqlsever存储过程
存储过程.rar
  • 存储过程
  • 教学幻灯片
  • TP6V1.0.ppt
    2.6MB
  • 源代码
  • SG6-Source
  • 示例4-1:带参数的存储过程1.sql
    863B
  • 示例5:带输出参数的存储过程.sql
    1.3KB
  • 示例6:raiserror语句.sql
    1.8KB
  • 示例3:不带参数的存储过程.sql
    983B
  • 示例4-2:带默认参数的存储过程2.sql
    1.1KB
  • 示例2:xp_cmdshell扩展存储过程.sql
    574B
  • 示例1:常用的系统存储过程.sql
    558B
内容介绍
USE stuDB GO /*---检测是否存在:存储过程存放在系统表sysobjects中---*/ IF EXISTS (SELECT * FROM sysobjects WHERE name = 'proc_stu' ) DROP PROCEDURE proc_stu GO /*---创建存储过程----*/ CREATE PROCEDURE proc_stu @notpassSum int OUTPUT, --OUTPUT关键字,否则视为输入参数 @writtenPass int=60, --默认参数放后 @labPass int=60 --默认参数放后 AS /*------------------------错误处理---------------------------*/ IF (NOT @writtenPass BETWEEN 0 AND 100) OR(NOT @labPass BETWEEN 0 AND 100) BEGIN RAISERROR ('及格线错误,请指定0-100之间的分数,统计中断退出',16,1) RETURN --立即返回,退出存储过程 END print '笔试及格线:'+convert(varchar(5),@writtenPass) + ' 机试及格线:'+convert(varchar(5),@labPass) print '--------------------------------------------------' print ' 参加本次考试没有通过的学员:' SELECT stuName,stuInfo.stuNo,writtenExam,labExam FROM stuInfo INNER JOIN stuMarks ON stuInfo.stuNo=stuMarks.stuNo WHERE writtenExam<@writtenPass OR labExam<@labPass /*--统计并返回没有通过考试的学员人数--*/ SELECT @notpassSum=COUNT(stuNo)FROM stuMarks WHERE writtenExam<@writtenPass OR labExam<@labPass GO /*---调用存储过程----*/ DECLARE @sum int,@t int EXEC proc_stu @sum OUTPUT ,888 --笔试及格线误输入604分 SET @t=@@ERROR --如果出现了错误,执行了RAISERROR语句,系统全局@@ERROR将不等于0,表示有错 print '错误号:'+convert(varchar(5),@t) IF @t<>0 RETURN --退出批处理,后续语句不再执行 print '--------------------------------------------------' IF @sum>=3 print '未通过人数:'+convert(varchar(5),@sum)+ '人,超过60%,及格分数线还应下调' ELSE print '未通过人数:'+convert(varchar(5),@sum)+ '人,已控制在60%以下,及格分数线适中' GO
评论
    相关推荐