Overview

The transactions are supported only on the syntax level to allow integration with tools that requires it. While the syntax is accepted, all the queries are executed immediately and with no transactional guarantees.

Commands

These commands are used to manage transactions:

BEGIN

Initiates a new transaction by calling one of the syntax below.

COMMIT

Saves the changes made in a transaction to the database. It simply ends the transaction.
Call one of the syntax below.

ROLLBACK

In Oxla, when you issue a ROLLBACK command, it doesn’t undo changes made in the current transaction. It simply finishes the transaction without any rollback action.

ROLLBACK;

Example

  1. Let’s define a table named products with columns: product_name, price, and stock_quantity.
CREATE TABLE productsnew(
    product_name TEXT,
    price INT,
    stock_quantity INT
);

Upon successful creation, you will get the output below.

CREATE
  1. Next, we want to insert product data into the products table.
* Transactions can only contain either multiple SELECT statements or a single non-SELECT one
* The INSERT statement is executed immediately without waiting for the transaction to finish or a COMMIT to be issued
BEGIN;
INSERT INTO productsnew(product_name, price, stock_quantity) VALUES ('Tab', 8000, 20);

By exectuing the code above, you will get the following output:

BEGIN
INSERT 0 1
  1. View the changes by displaying the products table:
SELECT * FROM productsnew;
COMMIT;

The product data is now added to the table.

 product_name | price | stock_quantity 
--------------+-------+----------------
 Harddisk     | 12000 |             14
(1 row)

COMMIT