INSPECTION 表中有DATE属性
INSPECTOR 表中有DATE_OF_HIRE属性
怎么使用触发器使DATE属性必须晚于DATE_OF_HIRE
没大理解你的描述, 这里是
你的要求是DATE属性必须晚于DATE_OF_HIRE
(trigger_INSPECTION 触发器名)
这里对表INSPECTION 创建触发器, 出发操作为insert 或update 语句.
当存在表INSPECTION 新增或更新数据时
触发begin ... end 之间的动作
这里的动作是, 当新增或更新的语句中表的DATE 早于DATE_OF_HIRE 时间
将时间更新为DATE_OF_HIRE, 保证不早于它, 变相的晚于它(其实是相同的时间这里).
具体你想要的是逻辑, 你可以作为参考去写一下
/*创建触发器在表INSPECTION ,
当表存在新增或更新操作时,
控制时间要不早于INSPECTOR 表中的时间.*/
CREATE TRIGGER trigger_INSPECTION
ON INSPECTION
FOR insert, update
AS
BEGIN
UPDATE INSPECTION
SET DATE=(SELECT DATE_OF_HIRE FROM INSPECTOR T2
LEFT JOIN INSPECTION T1 ON T1.EMP_ID=T2.EMP_ID
WHERE T1.DATE > T2.DATE_OF_HIRE
)
END
--触发器结束
图片说明
只是另一张表