gpt4 book ai didi

sql-server - 我可以在更新语句中重用一个值吗?

转载 作者:行者123 更新时间:2023-12-01 06:19:57 25 4
gpt4 key购买 nike

我想更新表中的两个字段,但第二个字段取决于第一个字段的新值。另外第一个的计算是一个密集的计算,所以我不想执行两次。为了让自己更清楚,这是一个有效但执行计算两次的示例:

update MyTable
set col1 = dbo.HeavyCalculationFunction(),
col2 = dbo.HeavyCalculationFunction() + 1

我想做的是:

update MyTable
set col1 = dbo.HeavyCalculationFunction(),
col2 = col1 + 1

这也成功执行,但在计算新的 col2 值时使用 col1 的旧值。那么是否可以使用新的,即:

update MyTable
set col1 = dbo.HeavyCalculationFunction(),
col2 = col1(NEW VALUE) + 1

最佳答案

感谢@MyoMyintAung 的想法:

declare @c1 int
update MyTable
set @c1 = col1 = dbo.HeavyCalculationFunction(),
col2 = @c1 + 1

关于sql-server - 我可以在更新语句中重用一个值吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37720999/

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