SQL Server触发器有条件地更新我插入或更新到的同一个表中的列

时间:2013-05-15 01:55:40

标签: sql sql-server-2008 triggers

在这个论坛中发布的新内容已经潜伏多年了。我有一个触发问题似乎在天生的知识和研究技能上都高于我的头脑。

我创建了一个指向SQL Server 2008数据库的约会调度程序应用程序,其工作方式与Outlook的工作方式类似,但已经达到了一个需要解决的问题。我需要创建一个触发器来更新约会表的一行或多行上的列,表示在添加,更新或删除另一个约会的同一日期和时间存在的约会数。

因此,如果我添加,更新或删除约会,触发器将查看插入/更改/删除记录的时间和日期存在多少约会,并更新存在的相同时间和日期的记录反映该时段剩余的新约会数。那有意义吗?有什么想法吗?

非常感谢你的帮助!

1 个答案:

答案 0 :(得分:1)

为什么要存储AppointmentsInSlot,只需查询以查找有多少而不必担心触发器:

SELECT
    [ScheduleTime],
    [AppointmentsInSlot] = COUNT(ID)
FROM [dbo].[Appointments]
GROUP BY [ScheduleTime]

如果需要,请添加任何where子句以过滤到您想要的日期。