JDBC Driver for Amazon Redshift

Build 24.0.9060

Transactions

Autocommit

By default JDBC connections start in auto-commit mode. Each individual SQL statement is executed within its own transaction that is committed when the statement completes.

Explicit transactions can be used by disabling auto-commit with the connection's setAutoCommit method. In this mode a SQL statement starts an implicit transaction that runs until the transaction is committed or rolled back. After the commit or rollback another transaction is automatically created.

Only one transaction can be active on the connection at the same time. That transaction is applied to all statements run on the connection no matter what Statement object they are executed from.

Connection conn;
Statement stmt = conn.createStatement();

// This creates a new transaction for the next group of SQL statements.
conn.setAutoCommit(false);

// Both of these statements execute in the same transaction
stmt.execute("INSERT INTO ExampleTable (ExampleCol) VALUES ('ExampleVal1')");
stmt.execute("INSERT INTO ExampleTable (ExampleCol) VALUES ('ExampleVal2')");

// This ends the current transaction and begins a new one for the next group of statements
conn.commit();

Committing and Rolling Back Transactions

Once auto-commit has been disabled, the active transaction may be committed using the connection's commit method. Committing accepts all the changes in the transaction and persists them if they are consistent:

conn.commit();
The active transaction may be rolled back using the connection's rollback method. Rolling back undoes all changes performed in the transaction:
conn.rollback();

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9060