【发布时间】:2011-01-27 22:07:37
【问题描述】:
这是我这样设置的两个表的简化版本:
Users (Name(varchar), DateAdded(date))
Costs (Month(date), TotalUsers(int))
现在,每当我在 Users 表中插入、更新或删除 DateAdded 时,我都想更新 Costs 表中的相应行。因此,如果我从 2011 年 1 月开始删除 users 表中的一行,则 Costs 表中 Month 列中 Date 值晚于 2011 年 1 月的所有行都需要减少其 TotalUsers 字段。例如,在这种情况下,2011 年 2 月和 2011 年 3 月的行需要减少 TotalUsers,但 2010 年 12 月的行不需要。
基本上,每当我更改用户中的一行时,我都想更改成本中的每一行,以便它的 TotalUsers 字段代表用户表中所有日期的总和,然后是它自己的。我目前正在使用在插入删除时设置的触发器,但我不确定在不使用游标的情况下更新成本表的最佳方法。
【问题讨论】:
-
SQL Server 的哪个版本?7
标签: sql database sql-server-2005 database-design