SQL Server如何在UPDATE期间同时返回新值和旧值?
在高并发期间,我们遇到了返回无意义结果的查询的问题-结果违反了发出查询的逻辑。重现了一段时间。我设法将可重现性问题分解为少数几个T-SQL。 注意:实时系统中有问题的部分由5个表,4个触发器,2个存储过程和2个视图组成。对于发布的问题,我已经将实际系统简化为更易于管理的内容。事情已经减少了,列被删除了,存储过程被内联了,视图变成了普通的表表达式,列的值改变了。说了这么长的话,虽然后面的内容会重现错误,但可能更难以理解。您必须避免怀疑为什么某种事物以这种方式构造。我在这里试图弄清楚为什么这种玩具模型中的错误情况可重复发生。 /* The idea in this system is that people are able to take days off. We create a table to hold these *"allocations"*, and declare sample data that only **1** production operator is allowed to take time off: */ IF OBJECT_ID('Allocations') IS NOT NULL DROP TABLE Allocations CREATE …