zoukankan      html  css  js  c++  java
  • 案例------存储过程

    创建一个存储过程(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 '成绩添加成功'
  • 相关阅读:
    sqlserver2008导出表结构和数据
    使用adb命令对手机进行截屏保存到电脑
    android中控制多点同时触发时间
    使用Androi自带模拟器7.0版本无法安装apk解决
    Android library使用butterknife配置
    使用RadioGroup和fragment搭建项目框架填坑
    【转】BaseAdapter&DataSetObserver通知机制
    【转】读BaseAdapter的一点感悟
    使用Rxjava和Retrofit报错--01
    使用LeakCanary检测内存泄漏
  • 原文地址:https://www.cnblogs.com/liupengfei19940119/p/3709871.html
Copyright © 2011-2022 走看看