• 案例------存储过程


    创建一个存储过程(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 '成绩添加成功'
  • 相关阅读:
    软件测试工具
    nat 转发
    修改Oracle 10g Express Edition的字符集
    java数字证书学习笔记
    【Java–XML】JDOM解析XML字符串(非XML文档)
    JAVA Web快速开发部署(Javarebel实现真正高效的tomcat热部署)
    热天稀饭配方
    javascript 使用正则实现replaceall功能
    设置eclipse中各类型文件的默认浏览器(如设置flex的.mxml的编辑器为MXML Editor)
    GAE中JDO数据清除
  • 原文地址:https://www.cnblogs.com/liupengfei19940119/p/3709871.html
Copyright © 2020-2023  润新知