1

我有一个项目列表,我需要根据它们在 SQL Server 2005 环境中的唯一 ID 进行更新。我想知道编写脚本来更新这些项目的最佳方法是什么。

我知道我可以通过编写多个查询来简单地更新列,例如:

UPDATE myTable
SET HelpLink = 'newLink'
WHERE ID = 5

UPDATE myTable
SET HelpLink = 'newLink2'
WHERE ID = 6

有没有其他方法可以做到这一点而不必重复上述更新大约 20 次?重复上述内容往往会制作一个非常难看的更新脚本。

注意:我有一组将通过其唯一 ID 更新的项目,这些项目不是来自数据库表。

4

2 回答 2

1

我发现您可以使用 case 语句,这似乎可以大大简化事情。这允许我将多个项目添加到单个查询中。

UPDATE [MyTable]
SET HelpLink = CASE ID
        WHEN 2 THEN 'MKSDefectsChart.png'
        WHEN 6 THEN 'EPMRisks.png'
        WHEN 7 THEN 'DCTSHardwareChanges.png'
        ELSE NULL
    END
WHERE ID IN (2, 6, 7)
于 2013-10-09T20:31:40.593 回答
0

您可以随时从另一个表更新,例如

update myTable
set HelpLink = myOtherTable.HelpLink
from myOtherTable
where myTable.[ID] = myOtherTable.[ID]

不过,您必须创建另一个表

于 2013-10-09T14:45:21.147 回答