Yes.
Inside the transaction, your application sees everything.
No other transaction, however, sees any part of the change.
The point of the transaction is to make the sequence of instructions seem like one atomic change in the database.
If you commit, all transaction statements will be completed, and everyone else will be able to see the effects.
If you rollback, no instruction in the transaction is complete, and no changes to the database occur.
Not all statements may be part of a transaction, BTW. DDL (Create and Drop, for example) will complete any previous transaction.
S. Lott
source share