首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Update Switch语句影响整个表

Update Switch语句影响整个表
EN

Stack Overflow用户
提问于 2019-02-28 18:00:16
回答 1查看 74关注 0票数 0

MS Access SQL。我正在使用SWITCH执行一条Update SQL语句。

代码语言:javascript
复制
Update Insurance Set [SellPrice]=SWITCH 
([Cover]=50, 4.2, 
[Cover]=100, 5.4, 
[Cover]=200, 6.8)

语句中的3个字段被正确更新,但它为所有其他条目清空了SellPrice列。该语句将更新所有行,而不仅仅是我标识的3行。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-02-28 18:01:36

这是通常的行为。update查询始终影响所有行,如果所有条件都不满足,则switch语句将返回Null

您应该过滤希望受影响的行:

代码语言:javascript
复制
Update Insurance Set [SellPrice]=SWITCH 
([Cover]=50, 4.2, 
[Cover]=100, 5.4, 
[Cover]=200, 6.8)
WHERE Cover IN (50,100,200)

或者,如果不满足任何条件,也可以让SWITCH语句返回当前值:

代码语言:javascript
复制
Update Insurance Set [SellPrice]=SWITCH 
([Cover]=50, 4.2, 
[Cover]=100, 5.4, 
[Cover]=200, 6.8,
True, SellPrice)

然而,这可能会有更差的性能,并导致更多的锁。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54922917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档