SQL Server 查询:更新设置一列



有没有办法在查询更新中执行SET IN命令?

UPDATE table_a 
SET status IN (A, B, C) 
WHERE id IN (1, 2, 3)

我做了语法,但出现了错误:

关键字"IN"附近的语法不正确。

如果您希望在单个查询中基于 id 进行多次更新

UPDATE table_a
SET status = CASE id
WHEN 1 THEN A
WHEN 2 THEN B
WHEN 3 THEN C
END
WHERE id IN (1,2,3)

我想这是您的要求,根据id设置不同的状态

你在下面的集合子句上犯了错误是正确的sql

UPDATE table_a 
SET status='A'
WHERE id IN (1,2,3)

你也可以使用这个:

INSERT into table_a (id, status)
VALUES
(1, 'A'),
(2, 'B'),
(3, 'C')
ON DUPLICATE KEY UPDATE
status = VALUES(status);

用例语句来更新基于条件的值,例如"当id=1时的情况,然后当ID=2时'A'然后'B'等"。 前任。 更新tab_a 设置状态=大小写 当 id=1 时 "A" 当 id=2 然后 "B" 当 id=3 然后 'C' 结束 其中 id 在 (1,2,3( 中

如果要使用默认值更新完整表,而不是 1,2,3 然后 更新tab_a 设置状态=大小写 当 id=1 时 'A' 当 id=2 然后 'B' 当 id=3 然后 'C' 否则 'Z' 结束

最新更新