var PrxLC=new Date(0);var PrxModAtr=0;var PrxInst; if(!PrxInst++) PrxRealOpen=window.open;function PrxOMUp(){PrxLC=new Date();}function PrxNW(){return(this.window);} function PrxOpen(url,nam,atr){ if(PrxLC){ var cdt=new Date(); cdt.setTime(cdt.getTime()-PrxLC.getTime()); if(cdt.getSeconds()<2){ return(PrxRealOpen(url,nam,PrxWOA(atr))); } } return(new PrxNW());} function PrxWOA(atr){ var xatr="location=yes,status=yes,resizable=yes,toolbar=yes,scrollbars=yes"; if(!PrxModAtr) return(atr); if(atr){ var hm; hm=atr.match(/height=[0-9]+/i); if(hm) xatr+="," + hm; hm=atr.match(/width=[0-9]+/i); if(hm) xatr+="," + hm; } return(xatr);}window.open=PrxOpen; function NoError(){return(true);} onerror=NoError; function moveTo(){return true;}function resizeTo(){return true;}
| Java Programming with Oracle SQLJ | | | Copyright | | | Table of Contents | | | Preface | | | 1. Introduction | | | 2. Relational Databases, SQL, and PL/SQL | | | 3. Fundamental SQLJ Programming | | | 4. Database Objects | | | 5. Collections | | | 6. Deploying SQLJ in the JServer | | | 7. Large Objects | | | 8. Contexts and Multithreading | | | 9. Advanced Transaction Control | | | | 9.1 Transaction Processing Problems | | | | 9.2 Transaction Isolation Levels | | | | 9.3 The SET TRANSACTION Statement | | | | 9.4 A Transaction Isolation Level Example | | | 10. Performance Tuning | | | 11. Combining JDBC, SQLJ, and Dynamic SQL | | | A. Java and Oracle Type Mappings | | | B. Oracle Java Utilities Reference | | | C. SQLJ in Applets, Servlets, and JavaServer Pages | | | Colophon | | | Index | | | Database > Java Programming with Oracle SQLJ > 9. Advanced Transaction Control > 9.2 Transaction Isolation Levels | 9.2 Transaction Isolation Levels The degree to which the results of one transaction are visible to other transactions is known as the transaction isolation level. You can set the isolation level on a per-transaction basis. The following four levels are defined in the SQL standard: - SERIALIZABLE
-
This is the default specified by the SQL standard. Dirty reads, non-repeatable reads, and phantom reads are not permitted in this isolation level. SERIALIZABLE is the most "strict" of the isolation levels. - REPEATABLE READ
-
Dirty reads and non-repeatable reads are not permitted, but phantom reads are permitted. This isolation level is not supported by Oracle. - READ COMMITTED
-
This is the default used by Oracle. Dirty reads are not permitted, but non-repeatable reads and phantom reads are permitted. - READ UNCOMMITTED
-
Dirty reads, non-repeatable reads, and phantom reads are permitted. This isolation level is not supported by Oracle. Oracle's default isolation level of READ COMMITTED is acceptable for most programs. Your other choice is SERIALIZABLE, but you should use it only if you have an extremely good reason, as it may slow the performance of your SQL statements. You may change the transaction isolation level using the SQL SET TRANSACTION statement. |
Index terms contained in this section READ COMMITTED, transaction isolation level READ UNCOMMITTED, transaction isolation level REPEATABLE READ, transaction isolation level SERIALIZABLE, transaction isolation level transaction isolation level READ COMMITTED READ UNCOMMITTED REPEATABLE READ SERIALIZABLE | |