Skip to content

Instantly share code, notes, and snippets.

connection.setAutoCommit(false);
connection.setSavepoint();
try (PreparedStatement selectAccountStatementFrom = connection.prepareStatement(SELECT_ACCOUNT_BY_OWNER_SQL);
PreparedStatement selectAccountStatementTo = connection.prepareStatement(SELECT_ACCOUNT_BY_OWNER_SQL);
PreparedStatement updateAccountStatement = connection.prepareStatement(UPDATE_ACCOUNT_SQL)) {
ResultSet accountFrom = findAccount(bankTransfer.getFrom(), selectAccountStatementFrom);
ResultSet accountTo = findAccount(bankTransfer.getTo(), selectAccountStatementTo);
BigDecimal amount = bankTransfer.getAmount();
try (PreparedStatement selectAccountStatementFrom = connection.prepareStatement(SELECT_ACCOUNT_BY_OWNER_SQL);
PreparedStatement selectAccountStatementTo = connection.prepareStatement(SELECT_ACCOUNT_BY_OWNER_SQL);
PreparedStatement updateAccountStatement = connection.prepareStatement(UPDATE_ACCOUNT_SQL)) {
ResultSet accountFrom = findAccount(bankTransfer.getFrom(), selectAccountStatementFrom);
ResultSet accountTo = findAccount(bankTransfer.getTo(), selectAccountStatementTo);
BigDecimal amount = bankTransfer.getAmount();
if (dataPresent(accountFrom, accountTo)) {
if (sufficientAccountBalance(amount, accountFrom)) {
UPDATE employees
SET payment=payment + 500
SELECT locktype, mode, query FROM pg_locks pl
LEFT JOIN pg_stat_activity psa ON pl.pid = psa.pid
JOIN pg_class pc ON pc.oid = pl.relation
WHERE pc.relname = 'employees'
VACUUM FULL employees;
UPDATE employees
SET payment=payment + 500
WHERE employeeid = 1;
BEGIN;
SELECT xmin, xmax, employeeid, lastname, firstname, payment
FROM employees;
BEGIN;
UPDATE employees
SET payment = payment + 1000
WHERE employeeid = 1;
SELECT xmin, xmax, employeeid, lastname, firstname, payment
FROM employees WHERE firstname = 'Carl';
COMMIT;