zoukankan      html  css  js  c++  java
  • 触发器--单独字段变化另一个字段也变化

    USE [nmgdl]
    GO
    /****** Object:  Trigger [dbo].[trg_NonExamCourse]    Script Date: 02/28/2015 11:31:02 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    create TRIGGER [dbo].[trg_NonExamCourse]
    ON [dbo].[Relation_User_Course]
    FOR UPDATE
    AS
    IF UPDATE(StudyTimes)
        BEGIN
            DECLARE 
            @jdconfig decimal(18,0), --课程进度参数(Course表中值)
            @jdstudy decimal(18,0), --已经学习的进度
            @totalscore1 decimal(18,1), --一门课程的学分
            @coursetime1 decimal(18,1), --一门课程的总课时长
            @userid1 nvarchar(36), --用户ID
            @courseid1 nvarchar(36), --课程ID
            @gradeid1 nvarchar(36), --班级ID
            @ispassed INT,--是否已经课程通过
            @totalscore2 decimal(18,1),--该学员已经取得的学分
            @coursetime2 decimal(18,1) --该学员已经学习的总时长
            SELECT @jdconfig=t.IsExam,@totalscore1=t.CourseScore,@coursetime1=t.CourseTime,
            @jdstudy=t2.StudyTimes,@userid1=t2.userid,@courseid1=t2.courseid,@ispassed=t2.Passed,@gradeid1=t2.GradeID
            FROM dbo.Course t,INSERTED t2 WHERE t.ID=t2.CourseID AND t.PassMethod=1;
            
            SELECT @totalscore2=TotalScore,@coursetime2=TotalCourseTime FROM dbo.Relation_Grade_User WHERE GradeID=@gradeid1 AND UserID=@userid1;
            IF(@jdconfig<=@jdstudy)
                BEGIN
                IF(@ispassed=0 or @ispassed is null)
                    BEGIN
                        UPDATE dbo.Relation_Grade_User SET TotalScore=@totalscore1+@totalscore2,TotalCourseTime=@coursetime1+@coursetime2 WHERE UserID=@userid1 AND GradeID=@gradeid1;
                        UPDATE dbo.Relation_User_Course SET Passed=1 WHERE UserID=@userid1 AND CourseID=@courseid1;
                    END
                END
        END
  • 相关阅读:
    我在华为做敏捷测试的那些流程
    精简测试用例编写
    五步定位性能瓶颈
    敏捷软件测试--初见
    并发用户数与TPS之间的关系
    关于CSS样式的那些事_导航条菜单讲解
    关于字符串的一些简单编码题
    设置div控件居中的方法
    sqlplus登录Oracle时ORA-01017: invalid username/password; logon denied的错误
    java中的foreach输出数组中的元素
  • 原文地址:https://www.cnblogs.com/tong775131501/p/4305787.html
Copyright © 2011-2022 走看看