案例------存储过程
2014-05-05 19:15
288 查看
创建一个存储过程(insertResult)添加学生成绩,要求输入(学号,课程名,分数) 如果输入的学号不存在,则提示“学生基本信息表中不存在此学号,请检查后重新输入” 如果输入的课程不存在,则提示“还没有这门课程,请检查后重新输入” 如果该学生的专业中没有输入的课程,则提示“该学生的专业里面没有这门课” 判断输入的成绩是否是大于0,如果小于0则提示“你太狠了吧,竟然打负分!” 判断该学生的课程成绩是否已经存在,如果存在则提示“此学生的这门课程成绩已经录入了,请不要重复录入” 最后添加成功则提示“成绩添加成功” CREATE PROCEDURE [dbo].[insertResult] ( @nStudentNo int, ------------------------学号 @vchCourse varchar(32), ----------------课程 @nAchievement int -------------------------成绩 ) AS SET NOCOUNT ON --table_student_base_info为学生基本信息表,列student_no为学号,student_specialty为专业课名称,student_achievement为专业课成绩 --table_course为课程表, 列course_name为课程名 DECLARE @nCount int SET @nCount = 0 DECLARE @nSpecialty SET @nSpecialty = 0 DECLARE @nCourse SET @nCourse = 0 DECLARE @nExistAchievement SET @bIsMark = 0 --------------------------------------------------判断学号是否存在 SELECT @nCountNo = COUNT(*) FROM table_student_base_info WHERE table_student_base_info.student_no = @nStudentNo IF @nCount < 1 BEGIN PRINT '学生基本信息表中不存在此学号,请检查后重新输入' RETURN END ------------------------------------------------判断专业课及成绩 SELECT @nSpecialty = COUNT(*), @nExistAchievement = student_achievement FROM table_student_base_info WHERE table_student_base_info.student_specialty = @vchCourse IF @nSpecialty < 1 BEGIN PRINT '该学生的专业里面没有这门课' RETURN END IF @nExistAchievement >= 0 BEGIN PRINT '此学生的这门课程成绩已经录入了,请不要重复录入' RETURN END ------------------------------------------------判断指定课程 SELECT @nCourse = course_name FROM table_course WHERE course_name = @vchCourse IF @nCourse < 1 BEGIN PRINT '还没有这门课程,请检查后重新输入' RETURN END ----------------------------------------------成绩为负 IF @nAchievement < 0 BEGIN PRINT '你太狠了吧,竟然打负分!' RETURN END ----------------------------------------------录入成绩 UPDATE table_student_base_info SET student_achievement = @nAchievement WHERE table_student_base_info.student_no = @nStudentNo PRINT '成绩添加成功'
相关文章推荐
- 邮件端口 port 25、109、110、143、465、995、993
- 蓝牙4.0的LM层说明
- MR2 client 代码分析
- Linux查看系统当前用户命令
- NOTE 3---SQLServer事务复制在不重新初始化的情况下添加新表
- 蓝牙的L2CAP协议
- fzu 2171 线段树 lazy标记
- 开始
- uva 10154 Weights and Measures(dp)
- 蓝牙Host Controller Interface笔记
- JAVA的代码书写规范
- 引导页指示器
- SQL Server获取指定行的数据
- (vc6.0)C++"void __cdecl operator delete(void *)"原因
- Eclipse调试常用技巧
- VIM命令模式与输入模式切换
- python执行系统命令
- java.lang.ClassCastException: android.support.v4.view.ViewPager$LayoutParams
- 蓝牙的OBEX协议
- Eclipse高级调试技巧[转]