SQL$HELP_OLD72.HLB  —  SET_COMPOUND_TRANSACTIONS
    Allows you to control the SQL behavior for starting a default
    transaction for a compound statement.

    By default, if there is no current transaction, SQL starts a
    transaction before executing a compound statement or stored
    procedure. However, this might conflict with the actions within
    the procedure, or it might start a transaction for no reason if
    the procedure body does not perform any database access. This
    default is retained for backward compatibility for applications
    which may expect a transaction to be started for the procedure.

1  –  Environment

    You can use the SET COMPOUND TRANSACTIONS statement:

    o  In interactive SQL

    o  In dynamic SQL as a statement to be dynamically executed

2  –  Format

  SET COMPOUND TRANSACTION ---> int-ext-val

3  –  Arguments

3.1  –  int-ext-value

    A string literal or host variable containing the keyword
    'INTERNAL' or 'EXTERNAL'. These keywords can be in any case
    (uppercase, lowercase, or mixed case). If the value is set to
    EXTERNAL, then SQL starts a transaction before executing the
    procedure. If the value is set to INTERNAL, then SQL allows the
    procedure to start a transaction as required by the procedure
    execution.

4  –  Example

    Example 1: Enabling and Disabling Transaction Starting

    In interactive or dynamic SQL, the following SET command can
    be used to disable or enable transactions starting by the SQL
    interface. The parameter to the SET command is a string literal
    or host variable containing the keyword 'INTERNAL' or 'EXTERNAL'.

    SQL> SET COMPOUND TRANSACTIONS 'internal';
    SQL> CALL START_TXN_AND_COMMIT ();
    SQL> SET COMPOUND TRANSACTIONS 'external';
    SQL> CALL UPDATE_EMPLOYEES (...);
Close Help