I have two concurrent SQL transactions with the most strict level of isolation (serializable)
According to here:
The SQL standard defines four levels of transaction isolation. The most strict is Serializable, which is defined by the standard in a paragraph which says that any concurrent execution of a set of Serializable transactions is guaranteed to produce the same effect as running them one at a time in some order
Or from MSDN regarding SET TRANSACTION ISOLATION LEVEL:
Places a range lock on the data set, preventing other users from updating or inserting rows into the data set until the transaction is complete. This is the most restrictive of the four isolation levels. Because concurrency is lower, use this option only when necessary. This option has the same effect as setting HOLDLOCK on all tables in all SELECT statements in a transaction.
But you see in the middle of the second transaction the table is empty. How is that possible and how can I fix it??
