CREATE TABLE Appointment
(
Id INT IDENTITY(1,1) NOT NULL PRIMARY KEY,
Maker INT NOT NULL,
Target INT NOT NULL,
[From] DateTime NOT NULL,
[To] DateTime NOT NULL,
Note NVARCHAR(128) NOT NULL,
Created FLOAT NOT NULL,
LastModified FLOAT,
LastModifiedNote NVARCHAR(128),
[Status] TINYINT NOT NULL
FOREIGN KEY (Maker) REFERENCES Person(Id),
FOREIGN KEY (Target) REFERENCES Person(Id)
)
让我解释一下我的表中的一些信息:该表是关于人与人之间的约会信息。 [From]
是什么时候应该开始约会,[To]
是约会应该结束的时间。从当前时间起在特定时间触发SQL命令
所有我想要做的是:
在创建约会,检查时间
[To]
,当时任命应该结束,查询运行改变[Status]
到4(已过期)当预约编辑,检查时间
[To]
,做同样的事情上面
例如:
在9.am,我创建约见[到]是2016年7月29日下午5:00,所以在下午5:00,查询应该运行到这一任命的改变[状态]到
在上午10点,我编辑的这一任命,我改变[转]到2016年7月29日下午7:00,而不是任命改变了这种状况在下午5时,现在则是在改变其状态7:00 pm。
我想我应该使用触发器和事件,但我不知道如何实现我的目标。
任何人都可以帮助我吗?
谢谢。
如何使用其他状态?如果它的值始终可以从其他数据中确定,那么您可能需要考虑根本不存储它 - 或将其作为计算列。 –
[状态]用于显示约会是活动还是过期。 1:有效,4已过期。 – Redplane
你应该在插入和更新时创建触发器 –