You are viewing the documentation for a prerelease version.

COMMIT TRANSACTION

    +
    The COMMIT TRANSACTION statement enables you to commit a transaction.

    Purpose

    The COMMIT TRANSACTION statement enables you to commit an ACID transaction. Refer to Transactions for further information.

    If you are using the Query Workbench or the Query REST API, you must set the txid query parameter to specify the transaction ID.

    If you are using the cbq shell, you don’t need to specify the transaction ID. Once you have started a transaction, all statements within the cbq shell session are assumed to be part of the same transaction until you rollback or commit the transaction. [1]

    This statement removes all savepoints within the transaction.

    If you are using the cbq shell, and a transaction fails for any reason, you must use the ROLLBACK TRANSACTION statement to remove the transaction context and reset the transaction ID.

    Syntax

    commit-transaction ::= COMMIT [ WORK | TRAN | TRANSACTION ]
    'COMMIT' ( 'WORK' | 'TRAN' | 'TRANSACTION' )?

    The WORK, TRAN, and TRANSACTION keywords are synonyms. These keywords are optional; you may include one of these keywords, or omit them entirely.

    Examples

    Example 1. Commit a transaction — cbq shell
    Request
    cbq> COMMIT TRANSACTION;
    Example 2. Commit a transaction — REST API
    CURL request
    $ curl http://localhost:8093/query/service \
    -u Administrator:password \
    -H 'Content-Type: application/json' \
    -d '{
      "statement": "COMMIT TRANSACTION",
      "pretty": true,
      "txid": "d81d9b4a-b758-4f98-b007-87ba262d3a51" (1)
    }'
    1 The transaction ID generated when the transaction began.

    1. You must be using cbq shell version 2.0 or above to use the automatic transaction ID functionality.