gpt4 book ai didi

sql - Oracle SQL 更新语句以什么顺序更改列值?

转载 作者:行者123 更新时间:2023-12-04 21:07:20 28 4
gpt4 key购买 nike

我得到了这个声明

UPDATE TABLE_A SET COL_A = COL_B, COL_B = 0

我对它执行的顺序很好奇,因为我希望 COL_A 应该包含我的 COL_B 的值,而 COL_B 应该是 0 但不知何故,目前这两个字段都是 0。

最佳答案

SQL 更新本质上是原子的 - 没有更新各个列的“顺序”或“顺序”的概念。你可以把它们按你喜欢的顺序排列,没关系。

从概念上讲,您可以认为它采用行的“之前”状态并将其更改为行的“之后”状态。因此 COL_A 将使用更新前 COL_B 中的任何值进行更新。

这使得交换两个值变得容易:

UPDATE test2 SET A=B, B=A;

关于sql - Oracle SQL 更新语句以什么顺序更改列值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19041206/

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