gpt4 book ai didi

sql - 有没有一种方法可以将多个更新查询合并到一个查询中?

转载 作者:行者123 更新时间:2023-12-02 21:38:44 24 4
gpt4 key购买 nike

我需要更新省份表中每个省份代码的描述信息。我正在做的是:

update Provinces
set Description='Mississippi'
where Code = 'MS'

update Provinces
set Description = 'Maryland'
where Code = 'MD'

.... --around 100 more update queries like that.

这样就有了重复的代码行,在我看来不太好。我想知道是否有更好、更专业的方法来完成同样的任务。任何帮助或建议将不胜感激。

最佳答案

您可以使用CASE:

update Provinces
set Description= CASE code WHEN 'MS' THEN 'Mississippi'
WHEN 'MD' THEN 'Maryland'
-- ELSE 'some default value' --otherwise NULL
END
where Code IN('MS', 'MD');
<小时/>

另一种方法是创建表变量并使用 UPDATE FROM JOIN 语法:

DECLARE @t AS (code VARCHAR(10), desc VARCHAR(1000));
INSERT INTO @t(code, desc) VALUES ('MS','Mississippi'), ('MD', 'Maryland');

UPDATE p
SET desc = t.desc
FROM Provinces p
JOIN @t t
ON p.Code = t.code;

关于sql - 有没有一种方法可以将多个更新查询合并到一个查询中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45918575/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com