Updating my tom tom
Read committed does not give you consistent results.
My question is that wouldn't the result be the same even if the isolation_level is not serializable? The text in BOLD is what the example is trying to demonstrate.The database tables A and B referenced in the example start out empty and are created as such: tkyte@TKYTE816 create table b ( x int ); Table created. Likewise, no matter how many times Session 2 queries table A - it will be the same as it was at time .Time Session 1 Executes Session 2 Executes Alter session set isolation_level=serializable; Alter session set isolation_level=serializable; Insert into a select count(*) from B; Insert into b select count(*) from A; Commit; Commit; Now, when this is all said and done - A and B will each have a row with the value of zero in it. So, what I was trying to demonstrate is what serializable means -- in short: A serializable transaction operates in an environment that makes it appear as if there are no other users modifying data in the database, the database will be "frozen" at the point in time your query began.That is all it is doing (and it does it quite simply -- perhaps TOO simply) I know, 100% know, that the same outcome in Oracle would be achieve in read committed.I know that -- it is not relevant to the concept being demonstrated -- that serializable DOES NOT imply there is some serial ordering.