【问题标题】:Updating parent property values in SQL在 SQL 中更新父属性值
【发布时间】:2010-08-18 03:32:42
【问题描述】:

我有一个带有 2 个表的 SQL Server 2008 数据库。这些表的定义如下:

Device
------
ID
Name
Description
TotalApplications

Application
-----------
ID
Name
DeviceID

我最近添加了“TotalApplications”列,以加快查询时间过长的查询。与设备关联的应用程序数量不会经常变化。当它发生时,我将需要编写一个触发器来处理它。但现在,我只需要填充我的数据库。

目前,与每个设备关联的 TotalApplications 为 0。显然,我需要为我的所有设备记录更新此值。但是,我无法弄清楚如何做到这一点。有人可以解释一下如何更新我的设备记录的 TotalApplications 值吗?

非常感谢您的帮助!

【问题讨论】:

    标签: sql sql-server sql-server-2008 tsql sql-update


    【解决方案1】:

    用途:

    UPDATE DEVICE
       SET totalapplications = (SELECT COUNT(*)
                                  FROM APPLICATION a
                                 WHERE a.deviceid = DEVICE.id)
     WHERE totalapplications = 0
    

    【讨论】:

      【解决方案2】:

      OMG Ponies 答案当然适用于此,但如果这是我的数据库,我会避免添加列并使用触发器。而是使用索引,否则我无法使用索引到达那里,我将使用索引视图。如果你想让我发布,请告诉我。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-10-25
        • 1970-01-01
        • 1970-01-01
        • 2017-12-26
        • 2023-01-27
        • 2012-09-14
        • 1970-01-01
        • 2015-12-15
        相关资源
        最近更新 更多