我们有三张桌子:
1. CourseRequest
包含字段Request_id
,ExecutionStartingDate
,ExecutionEndDate
。
2. Courselist
包含字段list_id
,Request_id
,Planning_id
3. CoursePlanning
包含字段Planning_Id
和CourseLength
。
表结构图:
我希望每次插入的数据都将从ExecutionStartingDate + length计算ExecutionEndDate,并认为数据类型分别是datatime2和int,并且触发器。
答案 0 :(得分:0)
基本上你需要做以下事情:
类似下面的查询:
CREATE TRIGGER TRG_CourseRequest ON dbo.CourseRequest --Create insert trigger for table
FOR INSERT AS
BEGIN
--Get the newly inserted CourseRequest ID
DECLARE @COURSE_REQ_ID INT
SET @COURSE_REQ_ID = (SELECT Request_id FROM INSERTED)T
UPDATE CR --Update the details
SET CR = DATEADD(CR.EXECUTIONSTARTINGDATE,CP.LENGTH)
FROM CourseRequest CR
INNER JOIN COURSELIST CL
ON CR.REQUEST_ID = CL.REQUEST_ID
INNER JOIN COURSEPLANNING CP
ON CP.PLANNING_ID = CL.PLANNING_ID
WHERE
CR.REQUEST_ID = @COURSE_REQ_ID
END
我没有在SQL服务器中编译它,因此可能存在一些语法错误!