gpt4 book ai didi

sql-server - GetDate() 是否会针对事务中循环内的每次迭代进行重新评估?

转载 作者:行者123 更新时间:2023-12-02 07:54:17 26 4
gpt4 key购买 nike

我有一个场景,我在一个事务中循环遍历一个结果集,我需要在一个表中插入一个唯一的日期时间值,用于通过结果集的每次迭代 - 每次都会重新计算 GetDate() 还是只计算它第一次然后在循环中的每次迭代都相同?

我的伪代码如下:

BEGIN TRANSACTION
GO

DECLARE @ID INT
DECLARE @table TABLE (/* Columns */)

WHILE (SELECT COUNT(*) FROM @table WHERE PROCESSED = 0) > 0
BEGIN

SELECT TOP 1 @ID = ID FROM @table WHERE PROCESSED = 0

-- INSERT GetDate() into child table at this point.
-- Will GetDate() be re-evaluated each time?

UPDATE @table SET PROCESSED = 1 WHERE ID = @ID

END

END TRANSACTION
GO

提前致谢!

最佳答案

是的。

如果您想避免重新计算它,请将其值存储在循环之前的变量中,然后插入该变量。

关于sql-server - GetDate() 是否会针对事务中循环内的每次迭代进行重新评估?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1847720/

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