Set Transaction
Sets the transaction isolation level for the current transaction block.
Synopsis
SET TRANSACTION ISOLATION LEVEL
{ READ COMMITTED | SERIALIZABLE }
SET SESSION CHARACTERISTICS AS TRANSACTION ISOLATION LEVEL
{ READ COMMITTED | SERIALIZABLE }Parameters
READ COMMITTEDThe clause that specifies that statements will be able to view changes to the database that were committed before the transaction began. This is the default.
SERIALIZABLEThe clause that specifies that statements will be able to view all rows that were committed in the database before the transaction’s first DML statement is executed.
Results
SET VARIABLEThe message returned when the isolation level has been set successfully. To verify that it is correctly set, you can issue the command
SHOW TRANSACTION ISOLATION LEVEL, which should then return the variable’s setting (eitherREAD COMMITTEDorSERIALIZABLE).
Description
Use the SET TRANSACTION command to set the transaction isolation level
for the current transaction. This change will affect only the current transaction; all other
subsequent transactions must have their isolation mode explicitly set, otherwise the default
of READ COMMITTED will be used.
You can only use this command before the first DML statement has
been executed. A DML statement is one of SELECT, INSERT,
DELETE, UPDATE, FETCH, or COPY.
To set the default transaction isolation level (as opposed to individual transaction),
use SET SESSION CHARACTERISTICS and specify either READ
COMMITTED or SERIALIZABLE ...