2
单个SQL Server语句是否原子且一致?
是SQL Server中的语句ACID吗? 我的意思是 给定一个未包装在BEGIN TRANSACTION/COMMIT TRANSACTION中的T-SQL语句,该语句的操作如下: 原子的:要么执行所有数据修改,要么不执行任何数据修改。 一致:完成后,事务必须使所有数据保持一致状态。 隔离:必须将并发事务所做的修改与任何其他并发事务所做的修改隔离。 持久:事务完成后,其影响将在系统中永久存在。 我问的原因 我在实时系统中只有一条语句似乎违反了查询规则。 实际上,我的T-SQL语句是: --If there are any slots available, --then find the earliest unbooked transaction and mark it booked UPDATE Transactions SET Booked = 1 WHERE TransactionID = ( SELECT TOP 1 TransactionID FROM Slots INNER JOIN Transactions t2 ON …